继承

来源:互联网 发布:笔画笔顺查询软件 编辑:程序博客网 时间:2024/06/05 09:33
继承
访问修饰符:private public protected 默认的
方法重写

面向对象:OOA OOD OOP
面向对象分析 面向对象设计 面向对象编程
面向对象的三大特性:封装、继承、多态
封装:将类中的属性隐藏在类的内部(private),通过set,get方法,保证属性的安全性
实现需要三步:
1、属性私有
2、封装对应属性的getXXX,setXXX方法
3、在setXXX方法中,进行有效性验证

员工管理系统(软件公司)
开发1部:小徐,小姜 程序员
PM(项目经理)
programmer:id,name,age,sex,codeLines
编码
projectManager:id,name,age,sex,projectNum
管理项目
 
设计:
1、发现类
2、发现类的属性
3、发现类的方法
4、优化(封装,继承,多态)
封装:数据的合理,对年龄封装
发现问题:两个类中有大量重复代码(编写了重复代码)
如果程序扩展:增加CEO类 还需要重复编码
如何解决重复编码的问题?
使用继承来解决重复编码问题。
继承:
继承描述的是类和类之间的关系,通过这种关系,子类可以访问父类中可以访问的成员,
从而减少了重复代码的编写

生活中对象之间在法律上或者血缘上的关系
生物 动物类
动物类 人类
把范围相对比较大的类称为父类
范围较小的类称为子类

在程序中:继承是类和类之间的一种关系
父类是范围较大的类,里面存放各个子类共同的成员
子类是范围较小的类。
继承的实现步骤:
1)把各个相关类的共同成员(属性)抽取出来,放在一个类中
2)让相关类继承这个父类,语法
子类 extends 父类

[重要]
子类继承了父类中的哪些成员
1)子类和父类在同一个包里,

子类继承了父类的public、默认的、protected
2)子类和父类在不同一个包里,
可以访问父类中使用的protected,public



继承的优点:
1)代码复用
2)代码结构更清晰


父类中 子类中(同一包)其他类(同一包) 子类(非同包)其他类(非同包)

private X X X X

无(默认的) X X

protected X

public

总结:
1)private修饰的成员变量只能在本类内部可以访问,其余均不可以访问
2)默认的访问修饰符,在包内可见,同一包内的类都能访问默认成员
3)protected修饰的成员,在同一包内无论是否有继承关系,均能访问,不在同一包内的时候,只有子类可以访问
4)public修饰的成员,项目内可见,只要在同一项目内,都能访问到

继承的特点:
1)单继承,父类只能有一个,不能同时继承多个类
2)传递性,在子类继承父类的同时,父类的父类(爷爷类)也继承下来

当创建一个类后,这个类会默认继承Object类,在语法上隐式继承

继承的本质:
在创建子类对象之前先创建父类对象,并且在子类对象中保存了父类对象的地址
调用子类构造方法时,子类的构造方法会默认调用父类的无参的构造函数

在子类的构造方法中,来指定调用哪个父类的构造方法
在子类的构造方法中通过super()来指定调用父类中哪个构造方法
[注意:]调用父类构造方法的语句,一定是子类构造方法中的第一条有效语句

debug 断点调试
1)在需要调试的代码出,设置断点
双击设置断点
2)以debug方式运行程序
3)如果想调试/运行方法内部的代码,按F5
如果不想进入方法内容,按F6






原创粉丝点击