OOP是什么?
Object Oriented Programming(面向对象编程)
OOP是一种编程思想,与语言无关。
常见的面向对象语言:
java,c++,c#,oc,javascript...
OOP研究的重点(核心):
a)以对象为主体
b)研究对象与对象之间的关系
什么是对象:
对象即为单一个体。一切皆对象,客观存在的实体,可以是看得见、看不见、有形的、无形的。
面向对象相关的概念:
类(类型):名词 一类事物的总称
对象:东西 名次 客观存在的实体。
(变量)引用:代词
属性:名次 构成对象的一部分
(函数)方法:动词 行为 动作 构成对象的一部分。
注意:光有属性不足以区分对象,还得有方法,一个对象由多个属性和多个方法组成。
封装:隐藏内部的实现细节
多态:分为行为多态和引用多态
方法的重载及重写:
方法的重载(overload):1)方法名必须相同
2)参数列表不同(参数个数,参数类型),如果参数个数相同,对应位置的参数类型不同。
3)与修饰符无关,与返回值无关
重载的意义:重载是多态的一种表现形式
方法的重写(override):在子类中把父类方法的功能重新实现
重写的要求:1)方法名必须相同
2)参数列表相同
3)返回值相同
4)重写方法的修饰符范围大于等于父类的方法
5)重写的方法抛出异常返回小雨等于父类的异常范围
this和super关键字
a)this:在类的内部访问其属性和方法
super:是在子类中访问父类的属性和方法
b)this和super当访问父类集成下来的方法时,意义相同
this.方法名(实参...) super.方法名(实参...)
c)当方法发生重写时,使用this和super意义不同
this访问的是子类的方法 super访问的是父类的方法
d)super()访问父类的构造器
this()访问当前类的重载构造器
二者不能同时出现 切访问构造器的代码必须写在一行。