面向对象编程(基础):继承和内部类
需积分: 0 184 浏览量
更新于2024-07-27
收藏 503KB DOC 举报
面向对象02
在面向对象编程中,继承是第二大特征,其主要的核心目的是扩充已有类的功能。继承是通过在一个类(子类)中继承另一个类(父类)的所有成员变量和成员方法来实现的。
**继承的引出**
在上面的代码中,我们定义了两个类:Person和Student。按照之前所学习的概念来讲,代码编写如下:
```java
// Person.java
class Person {
private String name;
private int age;
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return this.name;
}
public int getAge() {
return this.age;
}
}
// Student.java
class Student {
private String name;
private int age;
private String school;
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public void setSchool(String school) {
this.school = school;
}
public String getName() {
return this.name;
}
public int getAge() {
return this.age;
}
public String getSchool() {
return this.school;
}
}
```
通过比较,现在已经可以发现,问题就在于Student类与Person类之间的重复太多,而且从实际的关系来讲学生就是一个人,但是学生与人范围相比,学生有更多的特征和行为。
**继承的基本概念**
继承是面向对象编程中的一种机制,允许在一个类中继承另一个类的所有成员变量和成员方法。继承的主要特点是:
1. 单继承:一个类只能继承一个父类。
2. 多态性:继承关系可以实现多态性,例如,一个父类可以有多个子类,每个子类可以有不同的实现。
3. 继承的优点:继承可以使代码重用,减少代码冗余,提高编程效率。
**继承的应用**
继承的应用非常广泛,例如:
1. 实现多态性:继承可以使得子类可以继承父类的成员变量和成员方法,从而实现多态性。
2. 代码重用:继承可以使得代码重用,减少代码冗余,提高编程效率。
3. 便于维护:继承可以使得代码维护变得更加方便。
**this和super关键字**
在继承关系中,this和super关键字非常重要。
* this关键字:this关键字用于访问当前类的成员变量和成员方法。
* super关键字:super关键字用于访问父类的成员变量和成员方法。
**final关键字**
final关键字用于修饰类、方法和变量,final关键字可以使得类、方法和变量不可被继承或修改。
**方法覆写**
方法覆写是指子类中重新定义父类中的方法,以便实现不同的行为。方法覆写可以使得子类可以继承父类的方法,但是可以根据需要进行修改。
继承是面向对象编程中的一种非常重要的机制,可以使得代码重用,减少代码冗余,提高编程效率。同时,this、super和final关键字在继承关系中也扮演着非常重要的角色。
2015-01-27 上传
2018-12-10 上传
2009-05-11 上传
2023-04-27 上传
2021-11-02 上传
2008-05-13 上传
zhugongzhao
- 粉丝: 0
- 资源: 7
最新资源
- 3G无线知识入门 4
- 3G无线知识入门 3
- 网上营业厅积分支付接口文档 电信积分接口说明
- 3G无线知识入门 1
- ejb3.0入门经典教程
- php5.ini.doc
- Pro WPF in C Sharp 2008
- ea7 入门教程.0
- Eclipse整合開發環境.pdf
- HP ProLiant DL160 G6服务器
- 中国电信集团公司技术标准_短信息网关协议(SMGP)规范(V3.1).pdf
- SCP1-040156draft.doc
- FTP命令详解及使用技巧.doc
- c语言嵌入式系统编程修炼之道
- Android Anatomy and Physiology.pdf
- HP ProLiant BL490 G6刀片服务器