假设我们有两个类如下:
class Parent
{
public int ParentId {get; set;}
}
class Child : Parent
{
public int ChildId {get; set;}
}
根据以上所述,哪条线是正确的,为什么?以及哪条线不正确,为什么?
更新:我忘记从Parent继承Child并且我更正了!
答案 0 :(得分:1)
第一个是正确的,第二个不是。
根据定义,Child将继承Parent的所有属性和方法;但是,Parent不会拥有Child的所有属性和/或方法,因此第二个语句没有意义:
class Parent
{
public int ParentId { get; set; }
public void Eat { ... }
}
class Child : Parent
{
public int ChildId { get; set; }
public void Play { ... }
}
Parent child = new Child();
child.Eat(); // this makes sense since this is common functionality
Child parent = new Parent();
parent.Play() // this does not make sense since a Parent doesn't know hot to play