面向对象程序设计9.1——继承与组合

代码复用

——也称“代码重用”,是软件重用的一种,指在不同的软件开发过程中重复使用相同或相似的软件元素,软件元素包括程序代码、测试用例、设计文档等。

开闭原则:

  • 对修改是关闭的——被复用的类,其内部的代码不应该被修改,比如string类
  • 对扩展时开放的——在类的原有行为(函数成员)基础,可新增行为,也可修改(函数覆盖)原有的行为

C++的继承

格式与概念
class 类名A : 继承方式 类名B
{

新类A 称为“派生类”或者“子类”
已经编写好的类B 称为“基类”或者“父类”

  • 继承
    一个类从另一个类那里获得各个成员并规定相应的访问限制,前者称为派生类或者子类,后者称基类或者父类。派生类包含基类的所有成员,并可以新增成员或者覆盖(隐藏)基类的某些成员。
  • 新增
    派生类可以添加数据成员函数成员
  • 覆盖
    派生类成员通常不应与基类成员同名。如果同名(通常是函数成员),将造成成员覆盖,访问时有特殊规则。(注意,不是对基类的修改)
class CMyTime : public CMyDate  
// CMyTime(派生类,子类)继承自CMyDate(基类,父类)
{
protected:
	int hour,minute,second;
	//CMyTime继承了基类year等数据成员,并新增了hour等数据成员
public:
	……
	//CMyTime继承了基类的函数成员,并新增了若干函数成员

继承只是手段-复用才是目的

Java的继承

class 类名A extends 类名B

单文件继承

Java的一个源程序可以有多个类,但只能有最多一个public类,并且该类名必须与源程序文件同名

public class ca //extends cb
{
	……
	public static void main(String[] args)
	{……}
}

public cb //extends ca
{
	……
	public static void main(String[] args)
	{……}
}

源程序必须命名为ca.java
同一源程序文件中的两个类,可以根据需要安排继承与派生

访问规则
Java共有四种访问限制的规定:
public
private
protected
default(即成员前面不写任何访问限制标记)

派生类继承了基类的所有成员

  • 派生类的方法可以访问基类的protected成员和public成员
  • 如果派生类和基类在同一个包(见后)中,则派生类方法还可以访问基类的default成员
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值