Java 面向对象_5

                                                          JAVA面向对象_5

一.多态

    1.概念
        1.字面上,事物的多种形态
        2.本质:一个类的对象在编译的时候并不明确使用哪个对象,只有在运行的时候才确定,父类引用数据类型指向子类的对象
    2.作用:
        提升对象的作用范围
    3.条件
        3.1向上转型
        3.2必须有继承或者实现关系
    4.应用领域:
        4.1作为参数传入
        4.2作为返回值

二.向上转型

    父类的引用数据类型变量指向子类的对象
    变量的获取以及使用:向上转型后:
        注意的点:

             1.1 拥有相同的名字的普通成员变量(包括静态变量)时,访问的是父类的

             1.2 拥有相同名字的普通成员方法(非静态方法时),访问的是子类的

            1.3 拥有相同名字的静态成员方法,访问的是父类的

            1.4 父类的引用类型变量访问不到子类特殊的成员


            如果我要访问子类的特有成员,该怎么办?
            类型转型
 
            强转:转换的两者必须存在继承或实现关系,否则不能进行。

三.懒汉式和恶汉式

    1.懒汉代码:

 

        class Single{
    private int age;
    public int getAge(){
        return age;
    }
    public void setAge(int age){
        this.age=age;
    }
    private Single(){
        super();
    }
    private static Single s =null;

    public static Single getInstances(){
            if(s=null){
            s=new Single();
            }
            return s;
    }
}


    2.恶汉代码:

   

  class Single{
      private int age;
      public int getAge(){
        return age;
      }
      public void setAge(int age){
        this.age=age;
     }
     private Single(){
        super();
     }
    private static Single s=new Single();

    public static Single getInstances(){
        return s;
    }
}  

四.JAVA中设计模式  

      1. 总体来说设计模式分为三大类:

       创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。

       结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。

      行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

       2.在处理某些情况下一种约定俗成,并且行之有效的方法
 
       3. 主要是为了解决在计算机内存中某个类只存在一个对象这种情况
         装饰者设计模式
         工厂设计模式
         代理设计模式



   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章