面向过程:c语言,以方法为主体,所有的功能都是通过方法之间的调用完成的
面向对象:java、c++、c#、python、javascript。
以对象为主体,对象和对象之间的调用
继承:子类拥有父类的属性和方法。(面向对象三大特征之一)
子类;
父类(基类、超类)
特点:
1 子类不能继承父类的private属性和方法
2 类的继承式单继承,但是可以多重继承。
3 一般属性用private修饰,方法用public修饰,所以以后我们的开发工作里面主要是继承方法的。
格式: extends
public 子类 extends 父类{
}
使用场景:如果多个类有共同的属性和方法,那么我们可以把这些类中共同的属性和方法放到父类之中让这些类去继承父类,减少代码的重复性
this、super
都可以代表对象。对象可以调用属性和方法 this.xx super.xx
this
1 对象本身 new的对象就是这个this
2 this() 调用构造方法,可以有参数 一般只在构造方法里面
3 如果构造方法里面调用this() 只能放在第一行,否则报错
构造方法补充
如果类里面没有写构造方法,那么系统默认会给一个无参的构造方法
如果类里面有有参构造方法。那么系统不会给无参构造方法
super
1 代表的就是父类对象
2 子类的构造方法里面,默认第一句会添加super()
3 如果子类构造方法手动调用super(),必须放在第一行抽象类:把具有共同特征的类提取出来就是抽象类
特点:
1 不能实例化对象
2 抽象类就是当父类的,用来被继承
格式在创建类的时候class前面加上abstract
抽象方法:被abstract修饰的方法就叫抽象方法,没有方法体
抽象类和普通类的区别:
1 普通类里面不能有抽象方法,抽象类里可以有普通方法 2 抽象类里面可以有构造方法,但不能实例化对象
方法重写: override
在继承或者实现关系里面,如果子类和父类的方法名、参数列列表、返回值完全一致,就是方法重写。修饰符>父类,异常<父类
1 在继承或者实现关系里面.
2 方法名相同
3 参数列表
4 返回值* 5 修饰符
6 异常方法重写的目的:
父类的方法不适用子类,那么子类就要考虑重新定义这个方法}