C++面向对象程序设计简介

简介: C++面向对象程序设计简介

一、面向过程和面向对象的区别。


面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。 面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为


二、面向过程和面向对象的特征。


面向过程是把过程作为编程的思路,如程序流程图,但是面向对象是把实体当作对象,如自行车是一个实体,就是一个对象,它有自己的属性,但是它可以派生除别的类,如变速自行车,除了有自行车的特点外,还有变速这个特点,其实面向对象就是把显示中的一个事务当作一类东西,这类东西具有某些特性,但是它可以派生,就形成具有某个特点的对象,就是派生类


三、面向对象的基本特征:封装性,继承性,多态性(抽象性)。


1)抽象


数据的抽象是对数据进行实例分析,抽取其共同性质的结果。如: “学生”对象,先对一些学生实例进行分析,确定他们的共同特性或主要特性(姓名、性别、年龄、专业等),忽略不同点或次要的 引不起兴趣的那些特性(长相差异、性格差异等)。


2 )封装


将数据结构以及作用于数据结构上的操作组成一个实体,把数据的 表示方式及操作细节隐藏起来,用户通过接口对数据进行操作。这样,用户就只知道操作接口对该数据进行操作,而不知道内部是如何做的以及如何表示的—数据的封装。


【例如】银行帐户的抽象与封装

分析:

用户关心的问题:存款、取款、转帐、查询、修改密码 数据结构:帐号、余额、利息、密码等


3)继承


所表达的是对象类之间相互的关系。这种关系使的某一类可以继 承另外一个类的特征和能力(数据和操作)。


【例如】现实社会中继承的实例 由此可知:


可实现和增强代码的可重用性——通过继承基类的属性、方法实现;


在创建新的派生类时,只要指明了派生类是由哪个基类派生的便可 自动继承基类的属性和方法。


修改或扩充程序功能时不必修改原代码(增加新代码即可)。


(二)继承的几个名词:


基类(父类)


派生类(子类)


直接基类及间接基类


(三)继承的分类


单继承


多继承


4)多态


多态性:是指不同的对象在收到相同的消息时产生多种不同的行为。


多态性的例子。 “+”:2+3=5


设复数a=2+3i b=3+4i 则:a+b=5+7i


(运算符重载)


max()函数的调用:


max(a,b)——求二个数之间的最大数; max(a,b,c) ——求三个数之间的最大数;

max(*p,n)——求n个数的最大数。


(函数重载)


相关文章
|
1月前
|
安全 程序员 编译器
【C++篇】继承之韵:解构编程奥义,领略面向对象的至高法则
【C++篇】继承之韵:解构编程奥义,领略面向对象的至高法则
81 11
|
1月前
|
算法 安全 Linux
【C++STL简介】——我与C++的不解之缘(八)
【C++STL简介】——我与C++的不解之缘(八)
|
2月前
|
存储 安全 编译器
【C++核心】一文理解C++面向对象(超级详细!)
这篇文章详细讲解了C++面向对象的核心概念,包括类和对象、封装、继承、多态等。
26 2
|
1月前
|
存储 编译器 C语言
【C++】初识面向对象:类与对象详解
【C++】初识面向对象:类与对象详解
|
2月前
|
C++
C++(十八)Smart Pointer 智能指针简介
智能指针是C++中用于管理动态分配内存的一种机制,通过自动释放不再使用的内存来防止内存泄漏。`auto_ptr`是早期的一种实现,但已被`shared_ptr`和`weak_ptr`取代。这些智能指针基于RAII(Resource Acquisition Is Initialization)原则,即资源获取即初始化。RAII确保对象在其生命周期结束时自动释放资源。通过重载`*`和`->`运算符,可以方便地访问和操作智能指针所指向的对象。
|
3月前
|
存储 算法 编译器
|
3月前
|
存储 安全 数据处理
【C++】C++ 超市会员卡管理系统(面向对象)(源码+数据)【独一无二】
【C++】C++ 超市会员卡管理系统(面向对象)(源码+数据)【独一无二】
|
3月前
|
算法 数据可视化 C++
【C++】C++ 学生信息管理系统(源码+面向对象)【独一无二】
【C++】C++ 学生信息管理系统(源码+面向对象)【独一无二】
|
4月前
|
存储 开发框架 Java
|
5月前
|
存储 算法 C++
C++一分钟之-标准模板库(STL)简介
【6月更文挑战第21天】C++ STL是高效通用的算法和数据结构集,简化编程任务。核心包括容器(如vector、list)、迭代器、算法(如sort、find)和适配器。常见问题涉及内存泄漏、迭代器失效、效率和算法误用。通过示例展示了如何排序、遍历和查找元素。掌握STL能提升效率,学习过程需注意常见陷阱。
59 4