黑马程序员技术交流社区

标题: 面向对象之继承的好处和弊端 [打印本页]

作者: cheukfan    时间: 2016-12-2 07:38
标题: 面向对象之继承的好处和弊端
面向对象(继承的好处和弊端)
* A:继承的好处
        * a:提高了代码的复用性(如果再有个猪的类,只需要直接继承Animal就可以用了)
        * b:提高了代码的维护性   如果要给动物加一个属性name,只需要在Aniaml中添加name就行
        * c:让类与类之间产生了关系,是多态的前提
* B:继承的弊端
        * 类的耦合性增强了。类与类之间的关系太紧密,一边添加属性,另一边就多了一个,有的时候是期望的,但是有的时候是不期望的。        
        * 开发的原则:高内聚,低耦合。内聚:是指自己完成事情的能力,自己能完成就不要麻烦别人
        * 耦合:类与类的关系
        * 内聚:就是自己完成某件事情的能力
面向对象(Java中类的继承特点)
* A:Java中类的继承特点
        * a:Java只支持单继承,不支持多继承。(一个儿子只能有一个爹,多继承是有安全隐患的)
                * 有些语言是支持多继承,格式:extends 类1,类2,...
        * b:Java支持多层继承(继承体系)
* B:案例演示
        * Java中类的继承特点
                * 如果想用这个体系的所有功能用最底层的类创建对象
                * 如果想看这个体系的共性功能,看最顶层的类
案例:
class Demo2_Extends {
        public static void main(String[] args) {
                DemoC d = new DemoC();
                d.show();
        }
}
/*
* A:Java中类的继承特点
        * a:Java只支持单继承,不支持多继承。(一个儿子只能有一个爹)
                * 有些语言是支持多继承,格式:extends 类1,类2,...
        * b:Java支持多层继承(继承体系)
* B:案例演示
        * Java中类的继承特点
                * 如果想用这个体系的所有功能用最底层的类创建对象
                * 如果想看这个体系的共性功能,看最顶层的类
*/
class DemoA {
        public void show() {
                System.out.println("DemoA");
        }
}

class DemoB extends DemoA {
        public void method() {
                System.out.println("DemoB");
        }
}

class DemoC extends DemoB {
        public void print() {
                System.out.println("DemoC");
        }
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2