标签:logs ... 对象 访问权限 student 并且 属性 font 需要
构建类:
抽象:将同类事物的共同属性和行为提取出来并将其用变量和函数表达出来;
封装:将抽象得来的变量和函数捆绑在一起形成一个完整的类(即这类事物拥有了属性和行为)
控制访问权限:
private: 除了在该类中可以直接访问到之外,外界以及派生类均不能直接访问其成员;
protected: 在该类和其派生类中可以直接访问到其成员,外界不能直接访问到;
public: 除了在该类和其派生类中可以直接访问到其成员,外界也能直接访问;
如下创建一个类:
构造出学生类之后,便可以创建学生对象:
Student stdChen("Chen Yun");
Student stdLin("Lin Fan") 等;
封装好的类可以通过特定的 public 接口向外提供服务,故只要知道服务接口,便可以对类进行使用。
C++ 的继承机制:基类和派生类实现继承
不同类别的事物可能拥有一些相同的属性和行为,例如老师与学生都拥有姓名,性别,年龄等属性,并且拥有走路,交谈,看书等行为,为什么呢,因为无论是老师还是学生,都是人类的一个子类,所以他们都拥有人类的属性和行为。其中,人类称为父类,也称为基类;老师类和学生类称为子类,也叫做派生类。所以,老师类和学生类只需要继承人类的属性和行为(不需要写重复代码),再增加自身类的特有属性和行为即可。
c++ 派生类声明方式如下:
class 派生类名:继承方式 基类名1, 继承方式 基类名2...
{
// 派生类新增加的属性和行为...
}
由以上声明方式可知,一个派生类可以同时继承多个类。如果只有一个基类,称为单继承;否则称为多继承,此时派生类可同时获得多个基类特征。但是,多继承可能带来成员的二义性:当两个基类拥有同名的成员,那么派生类将继承得到两个同名成员,因此访问派生类该成员时将导致程序的二义性,使用的时候要多加注意。
与类的访问控制类似,继承方式也有 public,protected,private 三种,继承方式决定了派生类如何访问从基类继承下来的成员:
(1)public:
public 继承被称为类型继承。基类中的公有和保护类型成员连通器访问级别直接遗传给派生类,不做改变。并且派生类 is-a 基类,例如 Student is a Human。
(2)protected:
protected 继承把基类的公有和保护类型成员变成派生类的 protected 类型成员,使得基类的公有接口不被曝露给外界,自身以及其派生类却可以通过其访问到继承下来的成员。
(3)private:
private 继承被称为实现继承,基类的公有和保护成员都变成自身的 private 类型成员,因此,其派生类和外界不能支持基类的 public 接口,只是可以重用基类的实现而已。
A类 is a B类:使用 public 继承
A类 has a B类:不使用继承,而将B类作为A类的一个成员使用。
标签:logs ... 对象 访问权限 student 并且 属性 font 需要
原文地址:http://www.cnblogs.com/buzhiyusheng/p/7482726.html