C++面向对象的程序设计基础——类和对象基础概念

今天开始学习的就是C++面向对象的编程语言,这其实不是一门纯粹的面向对象的语言,而是一种基于过程和面向对象的混合型编程语言,由于实在C语言的基础上发展起来的,所以C++保留了基于过程的语言设计,即拥有向下兼容性。

在面向过程的语言中,函数是基本的组成部分,每个函数都存在与程序中;而在面向对象的语言中,除主函数外,所有的函数都是存在于“类”中的,只有通过类才能调用类中的函数,程序的基本构成单位是类和对象,这使得各个对象之间相互独立、互不干扰。所有的基于对象的程序设计都被称为基于对象的程序,而面向对象的程序设计还有更高深的要求。面向对象的程序有以下四个主要特点:抽象、封装、继承、多态性。

与Java面向对象的编程不同,C++面向对象的编程在可以对类和对象进行编程,同时也能兼容C语言中的面向过程的程序,用法相对更加灵活方便。听说过这么一句话:想学好C语言,你可能花一年时间就够了;但要想学好C++,你可能要用10年。这句话充分说明了C++的编程能力以及日后的适用范围。

首先,介绍下什么是面向对象的程序设计。面向对象的程序设计思路与日常解决问题的思路是相似的,现实生活中,世界就是由一个个物体组成的,如学校有教学楼、宿舍楼、操场,人有眼睛、鼻子、耳朵、嘴巴等。当使用面向过程的语言进行编程时,相当于从头到尾按顺序将一个人的每一个部分依次组装好;而在面向对象的设计中,我们先按照身体的各个部件分别制造出来每个器官、系统等,然后把各个部分进行组装,通过加强各部分之间的联系,以便协调整体的工作。这就是面向对象的程序设计思路。

其次,客观世界中的任何事物都能看作对象,即现实世界就是由对象组成的,对象——可以使物体,可以是逻辑、可以是项目......可以是任何东西。对于任何一个对象来说,他们都有两个要素,属性和方法,对象就是由一组属性和一组方法构成的,一个人,他的属性是身高、体重、种族、学历、智商,他的方法就是他具有的行为像吃饭、睡觉、读书、玩游戏等。面向对象的编程就是,在一个系统中,多个对象之间通过一定的渠道进行联系,向某个对象传递某种信息,来使他实现某一种行为,这是面向对象编程的共同定义,与Java中类和对象的定义完全相同,下面对面向对象的四中特点进行个简单通俗的介绍:

1.封装
将对象的部分属性和方法隐蔽起来,令使用对象的人完全可以不必知道其内部信息,只需了解其外部功能即可自如的使用,大大降低了操作对象的复杂程度,有两个好处:一是把数据和代码封装在一个对象中,项城各个单位,单位之间互不干扰、互相独立;一是将部分代码隐蔽,仅通过少量接口与外界联系,大大加强了数据安全。

#include 

Using namespace std;

Class Circle {

	//定义属性
	Public length = 9;
	Private Colum ;
	
	//定义方法
	Void SetC (double r) {
	}
	Void GetC (double a) {
	}
	
}

2.抽象
所说的抽象其实并不是毕加索画的画一样抽象到看不懂的抽象,这种抽象其实是很具体的抽象——抽象的作用即是表示同一类事物的本质,电脑就包括不同品牌、不同款式、不同厂家的电脑,学生就包括小学生、初中生、高中生、大学生。

3.继承
已经定义过一个类,现在要定义一个新类,这个新类和旧类没有太多的不同,只是在旧类的基础上新增加了一些属性和方法,如白龙马这个新的类,比“马”这个旧类多了一个颜色属性和一个会飞的行为,介绍他时就不用重头开始了,只需让白龙马继承马类就OK,这里“马”就是父类(基类),“白龙马”就是子类(派生类)。

4.多态性
有几个彼此相似但又有所不同的对象,当给他们下达同一条命令时,他们会进行不同的反应,执行不同的操作。多态性就是,由继承产生的不同派生类,其对象会对同一消息产生不同的反应。这一特点大大提高了程序的灵活性。

对于C++中的访问修饰符,public成员可以直接从类外部访问,private/protected成员不可以从类外部直接访问。

class Base {

	  public:

 	 // 公有成员

  	 protected:

	 // 受保护成员

	  private:
 
	  // 私有成员

}

你可能感兴趣的:(C/C++)