16C++类的继承
来源:互联网 发布:mysql json 编辑:程序博客网 时间:2024/05/10 05:14
类的继承
function:C++ language Technology
author :chinayaosir QQ:44633197
blog :http://blog.csdn.net/chinayaosir
note :禁止其它网站转载此文章
1.前言
继承的理解:
生活中的继承:1.接续前人未完的事业2.承继死者的遗产或权利。
编程中的继承:“继承”是面向对象软件技术当中的一个概念。
如果一个类A继承自另一个类B,就把这个A称为"B的子类",而把B称为"A的父类"。
继承可以使得子类具有父类的各种属性和方法,而不需要再次编写相同的代码。
2.定义
C++包括单一和多重继承两种方式,JAVA的多重继承是用interface来实现的
单一继承格式:class classid :public baseid{}
多重继承格式:class classid :public base1,public base2...
代码参考
//以人建立一个基类
class human{
public:
human(){}
void eatfood(){};
bool uselanguage(){};
bool usetool(){};
void ishuman(){}; //if (uselanguage() && usetool()) then is human
protected:
std::string name;
double height;
double weight;
};
//从基类继承而来的派生类
class chinese :public human{
public:
bool ischinese(){} //检查是否为中国人(gj=china)
bool isyellowhuman(){} //检查是否为黄色人种(黄皮肤+黑头发)
protected:
std::string gj; //国藉
std::string hair;
std::string facecolor;
};
多继承与单继承很类似。
class X {
public:
X(int n);
~X();
//…
};
class Y {
public:
Y(double d);
~Y();
//…
};
class Z : public X, public Y {
public:
Z(int n, double d);
~Z();
//…
};
派生类Z继承了两个基类X和Y所有的公有和保护成员,
由于两个基类有带参的构造函数,派生类构造函数应该在成员初始化表中调用它们:
3.单一继承与多重继承
单一继承就是基类和派生类的最常用的知识
多重继承用的非常的少,昼用不同的类进行组合设计,少用多重继承
因为多重继承在类的初始化,复制控制,再继承,各方面增加了好多的代码负担和控制难度
4.设计指导
4.1多重继承会加深类设计的复杂性和增加C++的错误率,建议少用多重继承
4.2类的设计中要知道区分"is-a"和"has-a"两种类设计模式
"is-a" :基类与派生类的public继承关系要符合"is-a"(是一种)的关系,"is-a"是类的继承设计方法
"has-a" :是指设计一个新类时,类的成员是由其它类组合而成的,"has-a"就是类的组合设计方法
- C++-类的继承
- C#中类的继承
- C++: 类的继承派生
- C/C++:C++类的继承
- 不能被继承的类[C/C++/C#]
- C#教程 第八课:类的继承
- C#教程第八课:类的继承
- Objective-C 类的继承、方法重载
- Objective-C 类的继承、方法重载
- objective-c语法学习:类的继承
- C语言类的继承和派生
- 【Objective-C】OC中类的继承
- obj-c编程04:类的继承
- 黑马程序员--- objective-c 类的继承
- object-c中类的继承
- 4.C++:C++类的私有继承
- C++:类继承 private, protected的区别
- 【c++】this 指针和类的继承
- 对深拷贝和浅拷贝的个人理解
- 关于输入输出流的讨论
- Response.ContentType 所有类型
- 学习JAVA的30个目标(来自CSDN)
- my debut of blog on csdn
- 16C++类的继承
- 鱼与熊掌,怎么就不可以兼得?
- 利用Javascript向页面中插入元素
- linux2.6.22下usb驱动完成情况及问题解决
- Particle Petri Nets for Aircraft Procedure Monitering Under Uncertainty
- 花生壳+serv-u服务器 组建自己的FTP服务器
- 年会有节目
- 满江红—写怀
- 用ultraEdit打造自己的java IDE