父类对象引用子类实例-父母代表孩子做事
来源:互联网 发布:colorbox软件下载 编辑:程序博客网 时间:2024/04/27 14:42
子类继承父类的属性和方法,使创建子类变得很简单,实现了代码重用。继承还有一个重要的特性,父类对象可以引用子类实例。也就是子类实例可以赋值给父类的对象变量。
这个特性可以这样理解:儿子继承父亲,儿子又把管理自己事务的权利交给父亲,那么父亲就可以代表儿子处理事务,这就是父类对象引用子类实例。现在生活中,父母可以代表儿子处理事务,总公司可以代表子公司生命权利。
父类指针要访问子类的成员的情况下,要强制类型转换。
父类的对象变量=new 子类类型;
((子类类型)父类引用).子类变量
using System;
class Father
{
private int _wealth = 5000;
public void ShowWealth()
{
Console.WriteLine("父亲拥有的财产{0}", this._wealth);
}
}
class Son: Father
{
public void PlayGame()
{
Console.WriteLine("玩游戏");
}
}
class Daughter: Father
{
public void Music()
{
Console.WriteLine("听音乐");
}
}
class Test
{
static void Main()
{
Father myfather1 = new Son();
myfather1.ShowWealth();
((Son)myfather1).PlayGame();
Father myfather2 = new Daughter();
((Daughter)myfather2).Music();
}
}
别人的总结:
将子类对象赋值给父类对象,所得到对象是这样的一个对象:
它是一个编译是为父类对象,但运行却是一个子类对象。具体特征如下:
1.被声明为父类对象
2.拥有父类属性
3.占用子类的内存空间
4.子类方法覆盖父类的方法时,此时对象调用的是子类的方法;否则,自动调用继承父类的方法.
5.我人认为这个对象既不是父类对象,也不是子类对象.当我们用到它的方法时,
我便把它看成子类对象;若用到它的属性时,我把它看成父类对象.
它是一个占用父类属性,而使用子类方法的对象.至于到底是什么对象,我认为还是得根据声明来,它应算是父类对象,但拥有子类方法.
- 父类对象引用子类实例-父母代表孩子做事
- 父类引用子类对象
- 父类引用子类对象
- 父类对象引用子类对象规则
- C#多态性-抽象类对象引用子类实例
- 父类引用指向子类对象
- 子类引用指向父类对象???
- 父类引用指向子类对象
- 父类引用指向子类对象
- 父类引用指向子类对象
- 父类引用指向子类对象
- 父类引用指向子类对象
- 父类引用指向子类对象
- 关于父类引用指向子类对象
- 父类的引用指向子类对象
- 父类引用指向子类对象
- 父类引用指向子类对象
- 父类引用指向子类对象
- C#中调用父类的构造方法和成员
- 洋为中用
- CListCtrl控件功能扩展(滚动条)总结
- 关于苹果和微软
- postgre 存储过程简单实用方法 (过程语言: PL/pgSQL)
- 父类对象引用子类实例-父母代表孩子做事
- 人活的是心情
- 一次Oracle启动失败的处理过程
- C#怎么理解“父类引用指向子类对象”
- 如何在WM平台下, 给创建的Dialog添加菜单
- sqlite3
- C#多态性-什么是多态
- map不允许一对多,重复时,会出现后面的覆盖前面的
- C#重载和重写的区别