第13.14.15.16课.类

第13课.进阶面向对象(上)

1.类和对象基本概念

类 :是指一类事物,是一个抽象的概念。用于描述一类事物所特有的属性和行为。
对象:指的是属于某个类的具体实体。拥有所属类中描述的一切行为和行动。
类是一种模型,这种模型可以创建出不同的对象实体;对象实体是类模型的一个具体实例。
(类是一个概念,对象是根据这个概念产生的一个具体事物)

第14课.进阶面向对象(下)

1.类之间的基本关系

a.继承
从已存在类细分出来的类和原来类之间具有继承关系;继承的类(子类),拥有原类(父类)的所有属性和行为。
b.组合
一些类的存在必须依赖于其他的类,这种关系叫组合;组合的类在某一个局部上由它的类组成。(整体和部分的关系)

第15课.类与封装的概念

1.c++中类的封装

成员变量:c++中用于表示类属性的变量
成员函数:c++中用于表示类行为的函数
c++中可以给成员变量和成员函数定义访问级别。

public :成员变量和成员函数可以在类的内部和外界访问和调用。
private:成员变量和成员函数只能在类的内部被调用和访问。
eg:

include <stdio.h>

int i = 1; //全局变量

struct Test
{
private: //私有
int i;

public: //公共
int j;

int getI()
{
i = 3;

return i;
}
};

int main()
{
int i = 2; //局部变量

Test test; //定义对象

test.j = 4;

printf("i = %d\n", i); // i = 2; 局部变量
printf("::i = %d\n", ::i); // ::i = 1; 使用默认命名空间中的i。即全局变量i
// printf("test.i = %d\n", test.i); // Error 私有的不能使用
printf("test.j = %d\n", test.j); // test.j = 4
printf("test.getI() = %d\n", test.getI()); // test.getI() = 3

return 0;
}

第16课.类的真正形态

问题:经过不断的改进,结构体struct越来越不像它在c语言中的样子了?c++中struct既能定义一个结构体又能定义类。

1.类的关键字

c++中提供了新的关键字class用于定义类。class和struct的用法完全相同。
区别:
在用struct定义类时,所有成员的默认访问级别为public;
在用class定义时,所有成员的默认访问级别为private;

eg:

include <stdio.h>

struct A
{
// defualt to public
int i;
// defualt to public
int getI()
{
return i;
}
};

class B
{
// defualt to private
int i;
// defualt to private
int getI()
{
return i;
}
};

int main()
{
A a;
B b;

a.i = 4;

printf("a.getI() = %d\n", a.getI());

b.i = 4;

printf("b.getI() = %d\n", b.getI());

return 0;
}

posted @ 2019-11-05 17:01  人民广场的二道贩子  阅读(144)  评论(0)    收藏  举报