赞
踩
例如:当子类Son重写(override)了父类的hit()方法时
(1)
Parent p=new Parent();
p.hit(); 执行父类方法
(2)
Parent p=new Son();
p.hit(); 执行子类方法
(3)
Son s=new Son();
s.hit(); 执行子类方法
(4)
Son s=new Parent(); 注意此种情况是不存在的 不可能通过new父类返回一个子类
s.hit();无效
例如:当子类Son覆盖(new)了父类的hit()方法时
(1)
Parent p=new Parent();
p.hit(); 执行父类方法
(2)
Parent p=new Son();
p.hit(); 执行父类方法
(3)
Son s=new Son();
s.hit(); 执行子类方法
(4)
Son s=new Parent(); 注意此种情况是不存在的 不可能通过new父类返回一个子类
s.hit();无效
public class Parent { private void Start() { } private void Update() { } public Parent() { Test(); } protected virtual void Test() { Debug.Log("父类Test方法"); } } public class Son : Parent { private void Start() { } private void Update() { } protected override void Test() { Debug.Log("子类Test方法"); } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。