A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 赵家阳 中级黑马   /  2012-9-11 14:51  /  1157 人查看  /  0 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 赵家阳 于 2012-9-11 14:54 编辑

由于字数限制,只能两次写完!内容纯属个人总结,如有不完善之处,还请指明!谢谢!

继承小结:
        class Student{
                private String name;
                private int age;
                public void setName(String name){
                        this.name = name;
                }
                public void setAge(int age){
                        this.age = age;
                }
                public String getName(){
                        return name;
                }
                public int getAge(){
                        return age;
                }
        }
        class Worker{
                private String name;
                private int age;
                public void setName(String name){
                        this.name = name;
                }
                public void setAge(int age){
                        this.age = age;
                }
                public String getName(){
                        return name;
                }
                public int getAge(){
                        return age;
                }
        }
        //对比发现
        /*
                1,当定义很多类时,发现这些类中有很多共性的描述,如果每一个类中都有的话,就会很麻烦,而且会浪费内存空间
        
                那么怎么解决呢?
        
                所以:将学生和工人的共性描述抽取出来,单独进行描述,只要让学生和工人与单独描述的这个类有关系,就可以了!
        这种关系就称为继承!
        
        继承的描述:
                1,多个类中存在相同属性和行为时,将这些内容抽取到单独的一个类中,那么多个类无论谁
                再定义这些属性和行为,只要继承单独的那个类即可。
                2,多个类可以称为子类,单独的这个类称为父类或者超类。
                3,子类可以直接访问父类中的**非私有**的属性和行为。(注意,是非私有的属性和行为)
                4,通过extends关键字让类与类之间产生继承关系。
                        eg:class SubDemo extends Demo{}
                        
        继承的好处:
                5,继承的出现提高了代码的复用性
                6,继承的出现让类与类之间产生了关系,提供了多态的前提。
               
        注意:千万不要为了获取其他类的功能,简化代码而继承,必须是类与类之间有所属关系才可以继承,
                所属关系:A is a sth,即A是sth的一种
        */
                //如此,以上代码就可以简化为:
                class Person        //人类,
                {
                        private String name;
                        private int age;
                        /**
                         * 给name赋值
                         * @param name
                         */
                        public void setName(String name){
                                this.name = name;
                        }
                        /**
                         * 设置年龄
                         * @param age
                         */
                        public void setAge(int age){
                                this.age = age;
                        }
                        /**
                         * 取得name
                         * @return
                         */
                        public String getName(){
                                return name;
                        }
                        /**
                         * 取得 age
                         * @return
                         */
                        public int getAge(){
                                return age;
                        }
                }
                class Student extends Person        //Student类是Person类的子类,Person类称为父类
                {//此时,该类自动有了name,age属性
                        
                }
                class Worker extends Person{//此时,该类自动有了name,age属性
                        
                }
        
        /*但是:
         *        在java语言中:java只支持单继承,不支持多继承,即:一个子类只能有一个父类。但一个父类可有多个子类
         *         java中,一个孩子只能有一个父亲!哈哈!就像人一样
         *         如:学生类,只能继承Person一个类,不能同时再继承其他类
         *         因为多继承容易带来安全隐患:当多个父类中定义了相同功能,且功能内容不同时,子类对象不能确定要运行那一个!
         *         但是java保留了这种机制,并用另一种体现形式来完成表示,**多实现**。(接口)
         *
         *         但是java支持多层继承。也就是一个继承体系。
         *         如:class C{}
         *         class B extends C{}
         *         class A extends B{}        
         *
         **那么如何使用继承体系呢?
         *        想要使用体系,
         *                先查阅体系父类的描述,因为父类中定义的是该体系中的共性功能。(也是最基本的功能)
         *                 通过了解共性功能,就可以知道该体系的基本功能
         *                 这个体系就基本可以使用了。
         *                 在具体调用时,要创建最底层子类的对象。为什么呢?
         *        一是,因为父类不能创建对象(抽象类);
         *            二是,创建子类对象可以使用更多的功能,包括基本的,也包括特有的,包括继承的,可以扩展功能
         *
         *         简而言之:查阅父类功能,创建子类对象使用功能
        */
        
        /*
         *        事物间聚集关系与聚合关系,组合关系
         *         聚集:A has a B,就是A里有一个B。
         *         组合:事物的联系程度更紧密。如:手是人身体的一部分。
         *                如:b和c组成a,那么b,c就是组合关系,a和b,a和c就是聚集关系
        */
        
      

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马