类的继承

定义

继承是面对对象编程技术的一个核心概念,它使得传统的软件开发模式发生了革命性的变化。
继承机制可以创建一个类的堆叠层次结构,每个子类都将继承在它的基类里定义的属性和方法。
通过继承机制,程序员可以对现有的代码进行进一步的扩展,并应用在新的程序中。

基类和子类

基类:可以派生出其他的类,也可以成为父类或超类。 Animal类
子类:从基类中派生出来的类。
Turtle类和Pig类

Animal类拥有Turtle类和Pig类的共同行为:吃东西,睡觉,流口水。我们抽象为方法:eat(),sleep(),drool(),它们是Animal类里的方法,因为每只动物都会做这些动作。
我们将mouth转变为Animal类的一个成员变量(属性),嘴巴是名词所以抽象为类的属性。

class SubClass : public SuperClass{...}
class Pig : public Animal{...}

#include <iostream>
#include <string> 

class Animal
{
public:	
      std::string mouth; 	
      void eat();	
      void sleep();	
      void drool();
}; 

class Pig:public Animal
{
public:
	void climb(); 
	};
	
 class Turtle:public Animal
 {	void swim();}; 
 
 void Animal::eat()
 {	cout << "I am eating!" << std::endl;} 
 void Animal::sleep()
 {	cout << "I am sleeping! Dont disturb me" <<std::endl;} 
 void Animal::drool()
 {	cout << "我是公的....";} 
 void Pig::climb()
 {	cout << "正在爬树..." << std::endl;} 
 void Turtle::swim()
 {	cout << "正在游泳..." <<std:: endl;} 
 
 int main()
 {	
       Pig pig;	
       Turtle turtle; 	
       pig.eat();	
       turtle.eat();	
       pig.climb();
       turtle.swim(); 	
       return 0;
 }

访问控制

C++不仅允许你对在类里定义的方法和属性实施访问控制,还允许你控制可以访问基类里的哪些方法和属性。
public继承的属性和方法的访问级别不发生任何改变,即
public仍可以被所有代码访问
protect只能由基类的子类访问
private只能由基类本身访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值