黑马程序员技术交流社区

标题: 自己整理的面向对象,第四天 [打印本页]

作者: 白马程序猿    时间: 2015-7-16 20:09
标题: 自己整理的面向对象,第四天
1多态:对象在不同时刻表现出来的不同状态(父类子对象)
        针对引用类型:
                编译期间:
                运行期间:
                Person p = new Person() 是一样的
        举例:水 固态,液态,气态
              狗  狗,动物,宠物,食物
        条件:
                1.继承,实现
                2.方法重写
                3.父类引用指向子类对象  Fu fu = new Zi();
        多态间的成员特点:方法有重写,变量没有
                成员变量:
                        编译看左边,运行看左边
                成员方法:
                        编译看左边,运行看右边
        弊端:父类引用不能使用子类特有功能
        基本类型:隐式转换,显示转化
        引用类型: 向上转型,向下转==
        类型转换异常:java.lang.ClassCastException
        异常:数组 1空指针 2角标越界
             数学 3除0
             多态 4类型转换
        避免:强转时只能转换成对象的类型或者父类型
        多态的好处:为了提高代码的拓展性,可维护性
        开发原则:对扩展开放,对修改关闭
2.抽象       
        针对没有方法体的方法--抽象方法
        abstract,修饰类表示类不能被实例化
        特点:       
                1.关键字修饰
                2.有抽象方法的类一定是抽象类
                  抽象类不一定有抽象方法(接口)
                3.抽象类不能被实例化
                4.如果一个类继承抽象类
                        要么是抽象类
                        要么重写所有的抽象方法
        成员特点:
                成员变量:可以有变量,也可以有常量
                构造方法:有构造方法,虽然不能实例化,但是可以给子类用
                成员方法:       
                        抽象:要求子类做某些事情
                        非抽象:提供代码复用性
       
        共存问题:
                private,final,static不共存
3.接口
        抽象类中只有抽象方法
        interface implements
        格式:
                interface 抽象类
                class 类名 implements 抽象类
        基本特点:  1.接口不能被实例化
                    2.接口中的方法要么被子类实现,要么子类是抽象类
                    3.
        成员特点:  1.成员变量:只有常量(public static final)
                    2.构造方法:没有构造方法。
                        任何类如果没有继承父类,那么就继承object类
                    3.成员方法:public,abstract
        关系特点:
        类与类关系:继承,单继承,多重继承
        类与接口:实现,多实现,一个类继承一个类实现多个接口
        接口与接口关系: 继承,多继承,多重继承
4.接口的思想
        特点:
                接口是对外暴露的规则
                接口是程序的功能扩展
                接口降低耦合性
                        耦合:类与类的关系
                        内聚:自己实现功能
                接口可以多实现
5.成员特点       
        抽象类:
                成员变量:可以变量,也可以常量
                构造方法:有构造
                成员方法:可以抽象,也可以非抽象
        接口:
                成员变量:只有常量 public static finall
                成员方法:只能抽象方法public abstract
        关系特点:
                类与类:
                类与接口:
                接口与接口
        设计理念:
                抽象类被继承,这个类中定义的是整个继承体现的共性内容。
                体现: is a
                接口被实现,这个接口中定义的是整个体现的扩展内容
                体现: like a
作者: longbao    时间: 2015-7-16 22:46
有一点不太对吧,记得是抽象类中可以有非抽象方法,但是接口中的方法都是抽象的
作者: 白马程序猿    时间: 2015-7-17 22:12
对,你说的没错




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