oop面向对象的编程思想
Day 3
回顾:
1.重载(overload)
同一类中方法名相同 参数列表不同
意义:方便使用者的调用
2.重写(override)
在继承关系的类中,子类中的某个方法 和父类方法的声明部分 一样
意义:在子类中可以按照自己的行为方式执行。可以进行差异化的操作
3.构造方法
访问修饰符 类名(参数列表){ 方法体 }
public Student(){}
new Student();
3.1有参和无参
构造方法如果不去定义,系统会自动添加一个无参的构造方法
但是如果定义了构造方法,则系统不会添加无参数的构造方法
建议如果加了有参的构造方法,一定要将上无参的构造方法
3.1.1 this( ) 调用
this.用来调用其他的构造方法*
注意:构造方法调用构造方法时必须放在第一行,否则报错
4.封装 将信息隐藏起来
将属性私有化 开放共有的get set方法 (快捷键:Alt+insert)
public int age;
//get是输出
public int getAge(){
return age;
}
//set是输入
public int serAge(int age){
this.age=age;
5.继承 关键字 (extends)
创建顺序: 爷爷 —> 爸爸 —> 儿子
1.父类先创建 然后再创建子类对象 默认是调用父类的无参构造方法
2.子类可以通过 super( ) 方式调用父类的构造方法
- super()和this()方法都需要放在第一行,且super()和this()不能同时存在,因为只能有一个放在第一行。
public class 子类 extends 父类 {}
-
有方向性 单继承.
-
子类可以使用父类非私有的属性和方法.
-
super 调用父类的属性和方法
开始:
多态
多态: 父类的变量 指向了一个子类的对象
Pet p = new Cat();
1.表现形式
p的表现形式取决于定义部分,P.都是Pet类中的属性和方法
2.子类重写
只有在子类中重写呢该方法才走之类的
3.非继承调用
3.非继承关系调用ting的方法
4.多态练习
5.实例运算符
对象 instanceof 类型
判断 对象是否是 该类型的
6.向下类型转换
向下强制类型转换,使其还原本身,调取自身方法
7 综合运用
综合(5及6)运用
8.类图
# 代表是的protected
- 代表是的private
+ 代表是的public
自上向下是
类名
属性
本类参数传值入属性
方法