什么是面向对象

面向对象有三大特性:封装,继承,多态

 

 

一、封装

 

 

封装是指一种将抽象性函式接口的实现细节部份包装、隐藏起来的方法。

用private关键字将该类的方法或属性进行封装,主要功能是让程序更容易理解与维护

1.1     this.xxx

l  this 特殊引用,引用当前对象的地址

l  this.xxx 调用成员

l  当有重名局部变量,必须用this.xx调用成员变量

1.2     this(...)

l  构造方法之间调用

l  目的是减少代码重复,方便维护修改

l  一般从参数少的方法,调用参数多的方法

l  this(...) 必须是首行代码

二、继承

  继承的主要作用是代码重用、复用,而私有成员构造方法不能继承:

 2.1 子类对象

  由父类对象和子类对象绑定,整体作为一个对象

  调用成员时,先找子类,再找父类

 2.2 父类的构造方法

创建子类对象时,先创建父类对象,也要先执行父类的构造方法

默认执行父类的无参构造 super()

或者可以手动调用父类有参构造 super(...)

 2.3 super

super.xxxx()

重写时,调用父类同一个方法的代码

 2.4 super(...)

调用父类的构造方法

必须是首行代码

三、多态

多态作用是将所有的子类型对象一致的类型,都可以被当做一致的父类型来处理

 

 3.1 向上转型

  通过向上转型将子类型对象,转型成父类型

  向上转型会隐藏子类的特有成员,只能调用父类定义的通用成员

    3.2 向下转型

  已经转成父类型的子类对象,再转回成子类型

  某种子类型对象,需要特殊处理(调用它的特有成员),先转回来再处理

 

    3.3 示例 

  多态转型本质是引用变量的类型转换,对象本身不变

Dog d = new Dog();

Pet p = d;

 

 

 

 

posted @ 2019-11-16 17:23  souwote  阅读(156)  评论(0编辑  收藏  举报