面向对象的相关知识

1. 类是一个抽象的概念,用来代指一系列的数据和方法。(也就是将一些方法和一些数据看成一个整体--类)。

 2. 类内部包括  方法和数据

     类内分为三种类型: public(公有),private(私有),protected(保护) 

    类内数据定义时的注意事项:  在实际开发中,数据一般设置为私有属性,然后对外提供它们相关的方法。

注意事项补充:  其实在语法层面,数据和方法都是可以被定义成公有的。 但是,我们一般不会这么做,我们会将一些方法定义成公有的供外界使用,这些方法相关的数据和方法,我们都设置成私有的,来给它提供服务。(私有的方法和数据都是为了保证对外的方法能够正常的实现)。

对于上面的注意事项,这么做的好处: 

1. 可以防止外界直接接触到我们的数据,进行相应的非法操作,可以保护数据的安全。  

2.  对外的方法时我们自己实现的,所以我们可以控制,外界可以得到的信息,更加的方便。

class Human(){
   public:
       void getName();
   private:
       string name;
}

上面代码,实现了一个类 

对象 

我们前面说的类,是一个抽象的概念,它代表了一类事物的特性。 但是,如果我们要怎么使用呢,首先,我们不能直接拿来使用,因为它表示一类东西,如果使用,你得指明是这类东西的哪一个。

比如说:你是一个人,可以将人看做一个类,人就是一个抽象概念。而你就是一个类的对象,一个实例。  因为,我们平时的吃喝玩乐都是在说谁谁谁怎么样。 可以将吃喝玩乐这些都看成人类里面的方法,(因为我们每个人都会吃喝玩乐(只是举个例子)),而我们要使用这些方法是就要具体到谁谁谁了,不然没有意义。其实这就是对象。

1. 对象是一个"特定类"的具体实例 

2. 实例化对象的过程你可以理解为是一个定义一个特殊的变量。 

int main(void) {

	Human man; // 定义了一个人类的实例
	Human* man2; // 定义一个人类的指针实例

	man2 = &man;  // 将man对象的地址赋值给指针man2
    
    man2->getName(); // 访问方法

	// 使用指针也不能直接访问私有属性
	//man2->name; // 错误访问

    // 合法调用
    man.getName();

/*
	// 非法调用: 访问私有属性
	man.name;
*/

	system("pause");

	return 0;
}

和定义变量一样,我们既可以定义一个普通对象,也可以定义一个指针 。 

而且,使用外部对象只能访问公有的成员。 

类内的方法 

 1. 类内的方法:1) 可以在类的内部实现(不推荐) -- c++中称为内敛函数

                           2) 可以在类内写声明,外部实现(推荐) 

class Human{
public: 
    void eat();  // 类内写声明
}

// 类外定义

void Human::eat(){
   cout<<"正在吃饭"<

 

你可能感兴趣的:(开发语言,c++,c语言)