C++57个入门知识点_14 面向对象及类(伪代码讲通、面向对象: 生活中事物描述成对象,对象之间产生关系,从而组织成程序;对象=数据(数据类型)+行为(函数)、以函数为单位把代码组织起来的)

本篇开始讲C++中的核心知识点,也是C++与C语言最大的区别,那就是类。

总结放于前:
1.面向过程: 以函数为单位把代码组织起来的
2.面向对象: 生活中事物描述成对象,对象之间产生关系,从而组织成程序;对象=数据(数据类型)+行为(函数)

1.编程语言分类及区别

按照编程语言的特点可以将编程语言分为面向对象和面向过程。
(1)面向对象: 以类和对象为中心,组成一个程序,对象是类的一个实例化。

  • 包括:C++,JAVA,C#,python,go
  • 面向对象的模块化效果更好,封装性更好,开发效率高

(2)面向过程: 以函数为单位把代码组织起来的

  • 偏底层C
  • 程序运行效率高)

2. 面向对象的概念

  • 生活中事物描述成对象,对象之间产生关系,从而组织成程序
  • 对象=数据(数据类型)+行为(函数)

3.通过伪代码表示过程和对象的区别

伪代码: 编译不能通过,但可以通过代码明显得出代码的思维逻辑

3.1 面向过程实现洗衣功能

3.1.1 C语言描述:结构体只是描述外观性质

struct 洗衣机{
	int nWidth;
	int nHeight;
	int nLength;
	int nType;//类型(滚筒,波轮)
	int nBland;//品牌
};
定义结构体数据类型:
洗衣机 海尔洗衣机; 
冰箱 海尔冰箱;

3.1.2 C语言中表达洗衣机可以洗衣服

void 洗衣服(洗衣机,衣服)
{
	
}

3.1.3 调用方式:通过函数指定洗衣机,再指定衣服

洗衣服(海尔洗衣机,脏衣服);

有可能会出现以下这种情况,洗衣服的功能赋给冰箱,通过强制转换也是可以编译通过的

洗衣服(海尔冰箱,洗衣服);

正常描述的话:洗衣机有什么样的功能,而不是先有功能才描述洗衣机和衣服

3.2 面向对象实现洗衣功能

3.2.1C++语言描述

不用指定洗衣机,因为本身就具有这样的功能,只需要把衣服丢进去即可

struct 洗衣机{
	int nWidth;
	int nHeight;
	int nLength;
	int nType;//类型(滚筒,波轮)
	int nBland;//品牌
	
	void 洗衣服(衣服);
}

3.2.2 C++语言中的调用

C++中怎么洗衣服:洗衣机本身就有相关的功能

洗衣机 海尔洗衣机;
海尔洗衣机.洗衣服(脏衣服);

下面这种海尔冰箱洗衣服的情况就不可能出现,因为它本身就没有相关功能

冰箱 海尔冰箱;
海尔冰箱.洗衣服(脏衣服);

总结: 洗衣机是类,海尔洗衣机是对象也叫实例化,海尔洗衣机洗脏衣服就是一个实例化

4.视频学习地址:C++57个入门知识点_14 面向对象及类

5.学习笔记:

面向对象:类  (以类和对象为中心C++,JAVA,C#,python)
面向过程:函数 (以函数为单位把代码组织起来的,偏底层C)
           
脚本语言:js,php,asp,jsp
编译语言:C C++
基于虚拟机:java C#,python
go

面向对象:生活中事物描述成对象,对象之间产生关系,从而组织成程序

对象?找不到对象(object)
对象=数据(数据类型)+行为(函数)

洗衣机 冰箱等等

洗衣机:
		功能上:洗衣服
		外观:类型(滚筒,波轮)
		      品牌(小天鹅,海尔)
			  长、宽、高
			  型号
			  
伪代码:
C语言描述:结构体只是简单描述了外观性质
struct 洗衣机{
	int nWidth;
	int nHeight;
	int nLength;
	int nType;//类型(滚筒,波轮)
	int nBland;//品牌
};
关于洗衣机,上面的代码缺少了功能的描述

C语言中表达洗衣机可以洗衣服:

void 洗衣服(洗衣机,衣服)
{
	
}

C语言的描述,围绕函数去写 
洗衣机 海尔洗衣机;
冰箱 海尔冰箱;

调用方式:通过函数指定洗衣机,再指定衣服
洗衣服(海尔洗衣机,脏衣服);

洗衣服和洗衣机的关联不够强,应该是洗衣机本身就有洗衣服的功能,C语言中就将功能分隔开了
有可能会出现以下这种情况,洗衣服的功能赋给冰箱,通过强制转换也是可以编译通过的,这就导致:洗衣服(海尔冰箱,洗衣服);

正常描述的话:洗衣机有什么样的功能,而不是先有功能才描述洗衣机和衣服

//C++语言描述,不用指定洗衣机,因为本身就具有这样的功能,只需要把衣服丢进去即可
struct 洗衣机{
	int nWidth;
	int nHeight;
	int nLength;
	int nType;//类型(滚筒,波轮)
	int nBland;//品牌
	
	void 洗衣服(衣服);
};

C++中怎么洗衣服:洗衣机本身就有相关的功能

洗衣机 海尔洗衣机;
海尔洗衣机.洗衣服(脏衣服);

冰箱 海尔冰箱;
海尔冰箱.洗衣服(脏衣服);//这种情况就不可能出现,因为它本身就没有相关功能
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十月旧城

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值