are a soldier, do not fight for my freedom. Fight for the freedom of the soldier fighting next to you. This will make the war more inspiring for you both.
The Liskov Substitution Principle is a fundamental concept in object-oriented programming, stating that objects of a superclass should be replaceable with objects of a subclass without affecting the correctness of the program.
The only way to have a friend is to be one.