1继承:
1.1子类转换为父类引用(父类的引用指向了子类)
Father f = new son()
如果方法被改写,则会调用son的方法
1.2父类转换为子类引用
Son s = f(Father)
2.2把子类当作父类处理的过程称为 上溯造型
多形性:
void doStuff(Shape shape)
Circle c = new Circle();
Triangle t = new Triangle();
Line l = new Line();
doStuff©;
doStuff(t);
doStuff(l);
在面向对象的程序里,通常都要用到上溯造型技术。这是避免去调查准确类型的一个好办法.
当doStuff 函数接受到一个参数时,无论是Circle,还是squad,但我知道你是shape类型,我有s.erase,和s.draw操作,你是circle就执行你circle的方法,你是squad就执行你squad的方法,至于细节方面你自己搞定吧!
3.抽象的基础类和接口
为什么会有抽象,因为我们只希望我们的父类只提供一个接口供我们使用,并不希望别人去创建它的对象。比如我们创建一个人的对象供我们世界使用,子类为中国人,美国人,等等,但是我们并不需要一个叫做人的对象,也即是说,我们继承了父类之后,我们的抽象方法必须实现。
而接口,全部都是抽象方法
4对象的创建和存在时间