Java编程思想 多态

多态

1.多态相关概念

面向对象的程序设计特点:多态、继承、封装

动态绑定:在运行时根据对象类型调用相应的方法。

后期绑定:在运行时根据对象的类型进行绑定。

java中除了static方法和final方法(private方法属于final方法),所有方法都是后期绑定。域和静态方法不可多态,因为是在编译期初始化 。

多态(也被成为动态绑定、后期绑定和运行时绑定):将整个继承体系的对象作为同一类对象使用,代码可以毫无差别的应用在这些类上。

由于有多态机制,可以根据自己的需要在系统中添加任意多的新类型,但不用改变相应的方法,这样的程序是可扩展的

2.向上转型

向上转型:将派生类作为基类使用。用以基类为参数的方法应用在派生类上。

3.组合和继承

在建立新类时应该首先考虑采用组合的方法,因为在程序运行中可以改变引用,但是无法改变类的继承关系。可以说,组合更具有灵活性

4.一段有趣的程序:
public class RandomShapeGenerator {
    private Random rand = new Random(47);
    public Shape next() {
        switch(rand.nextInt(3)) {//随机产生数字,决定生成何种对象
            default:
            case 0: return new Circle();
            case 1: return new Square();
            case 2: return new Triangle();
        }
    }
}
Shape[] s = new Shape[9];
for(int i = 0; i < s.length; i++) {
    s[i] = gen.next();//为随机生成的对象产生一个引用
}

猜你喜欢

转载自blog.csdn.net/LJFYYJ/article/details/80976914