base and derived classes
<p>If I have Person class which will handle all common properties</p>

<pre><code>Person.cs

public class Person
{
   public FirstAndLastName {get; set;}
   public Health Health {get; set;}
   public Personality Personality {get; set;}
}
</code></pre>

<p>now I will need Player objects and later on different types of players (soccerPlayer, bballplayer, etc.) Since player is a person can I use this approach</p>

<pre><code>Player.cs
public class Player:Person
{
   public Sport Sport {get; set;}
}
</code></pre>

<p>Now I want to implement some sport based player unique properties like: in basketball alley up , or volley shoot in football (soccer). You've got the pic.</p>

<pre><code>Basketball.cs
public class Basketball:Player
{
   public int AlleyUpLevel {get; set;}
}
</code></pre>

<p>Question: is this proper way of creating base and derived classes, should my basketball player have access to all properties defined in Person class ?
Thanks</p>
