title: Not sure when to use an abstract property and when not
body: <p>I'm not really sure what looks better or when do I really use in abstract classes and properties, or when to use non abstract properties. I'll try to make a simple example. Let's say I have this:</p>
  
  <pre><code>abstract class Human
  {
    public GenderType Gender { get; set; }
    public string Name { get; set; }
    public Date Born { get; set; }
    public bool IsNerd { get; set; }
  
    abstract public void Speak();
    abstract public void Sleep();
    abstract public void AnoyingPeopleOnStackOverflow();
    //... so on
  }
  
  class Peter : Human
  {
    //Peter is special, he got a second name
    //But thats all, everything else is the same as like on other humans
    public string SecondName { get; set; }
  
    //...override abstract stuff
  }
  </code></pre>
  
  <p>Is this alright? As I understood, I don't have to use an abstract property if I dont want to override it. And in this situation it would be ok, just the methods like <code>Speak</code>, <code>Sleep</code> and so on should be abstract.</p>
  
  <p>Now, if this is ok, when would or should I use an abstract property?</p>