I'm trying to learn interface and base classes on practical example. Let's say that I want to to abstract Player entity On Player.cs should be all common properties and methods for every sport in which player is assigned. So, there will be TeamSportPlayer, IndividualSportPlayer. Again, FootballPlayer would derive from TeamSportPlayer, TennisPlayer would derive from IndividualSportPlayer and so on. All this players should have access to first class Player and their properties.
Hope I'm not too confusing.
Question is: Is this proper way of abstracting player representation in terms of oop?
How would you do this on this practical example?