Java 继承与多态之面向对象

1、面向对象思想

      面向对象是基于面向过程的编程思想

      面向过程:强调的是每一个功能的步骤

      面向对象:强调的是对象,然后由对象去调用功能

2、面向对象的思想特点

      一种更符合我们思想习惯的思想

      可以将复杂的事情简单化

      将我们从执行者变成了指挥者

3、面向对象开发

      不断的创建对象,使用对象,指挥对象做事

4、面向对象设计

      管理和维护对象之间的关系

5、面向对象的特征

      封装:隐藏对象的属性和实现细节,仅对外提供公共的访问方式

      封装的好处:

                1、隐藏实现细节,对外提供公共访问方式

                2、提高了代码的复用性

                3、提高了安全性

      继承:继承是指从已存在的类中定义性的类

       java继承特点:单继承、多层继承体系。即一个类只能有一个父类,但父类还可以有父类

      继承的好处:

                1、提高了代码的复用性

                2、提高了代码的维护性

                3、让类与类之间产生了关系,是多态的前提(同时也是弊端,增加了代码的耦合性)

 

  多态:同一个对象在不同时刻表现出不同的状态(父类的变量可以引用子类对象的现象

               多态的前提:

               (1) 有继承关系

               (2) 子类重写父类方法

               (3) 父类变量引用子类对象

              多态的好处:

               (1) 提高了代码的维护性(继承保证)

               (2) 提高了代码的扩展性

              多态的弊端

                只能使用父类定义过的方法,不能够使用子类的特有方法

 

   注意:

           多态中访问变量时,使用的是父类的成员(成员变量和成员函数,而方法存在重写,所以调用的是子类的方法(静态方法除外    

 

6、继承中成员的关系

         成员变量:子类不能继承父类的私有成员变量也有人认为子类能够继承父类的私有成员变量,只是因为权限不够,所以不能调用。因为在子类中调用父类的私有成员变量的时候编译器报的并不是“找不到符号”,而是报的权限错误

         构造方法:子类不能继承父类的构造方法,但是在子类的构造方法中都会默认调用父类的无参构造方法(因为子类可能会使用父类数据,所以在子类初始前必须先完成父类数据的初始化),如果父类没有无参构造函数,子类在编译时会报错。可以 (1) 为父类添加无参构造方法; (2) super(..) 调用父类有参构造方法; (3) this() 调用其他本类构造函数,但是该构造函数中必须调用了父类的构造函数

         成员方法:子类不能继承父类的私有方法

 

 

 

 

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