C++自学笔记 面向对象程序设计OOP(Object Oriented Programming)
2024-09-08 06:43:05
什么是对象?
Objects = Attributes + Services
Data : The properties or status
Operations: the fuctions
C语言中定义的变量用来存储数据,所以它可以理解为是“对象”
“任意变量都是对象”
对象拥有自己的属性和服务;
比如一盏灯,它的亮度,冷暖等就是它的属性;而它能带来的服务就是照明,拥有接口 并且能够输入(电)输出(光);
比如一个杯子,它的杯身颜色,里面水的多少就是它的属性;而它的服务就是让你喝水,同样拥有接口(杯口),输能入(水)和输出(水)。
面向过程是针对一个问题或者一个场景,需要有些什么步骤完成;
面向对象是针对一个问题或者一个场景中存在什么对象(物体),这些对象有什么属性能接受什么能提供什么服务/做什么操作。
object-oriented 面向对象 专注对象 而不是操作过程;
类和对象:
类:对象的类别;
类定义了对象,对象是类的实例;
OOP Characteristics:
- 所有东西都是对象
- 一个程序就是一堆对象在通过发信息的方式相互告知要做什么操作(C语言源代码则是函数的集合)
- 每一个对象都有它自己的由其他对象组成的内存
- 每一个对象都有一个类型
- 所有特殊类型的对象都可以接受相同的信息(所有可以接受相同消息的对象都是同一特殊类型)
Interface:
一个对象拥有一个接口(拥有相同接口的对象是同一类型)
接口的功能:
- Communication (便于更换,交流、松散耦合--loose coupling)
- Protection (外面的接口保护里面的结构--hidden implementation)
oop 的三大原则:封装encapsulation,继承inheritance,多态polymorphic
最新文章
- JavaScript学习总结(一)——延迟对象、跨域、模板引擎、弹出层、AJAX示例
- div盒子垂直水平居中
- Linux 等待进程结束 wait() 和 waitpid()
- HTML之表格制作
- python编写接口
- kthread_stop引起的OOP
- python进度条代码
- Java 和Oracle的数据类型
- 项目中遇到angular时间插件datetinepicker汉化问题
- patindex
- python中assert详解
- Android精通教程V
- hdu 1181 以b开头m结尾的咒语 (DFS)
- python opencv 检测特定颜色
- 2018.12.18 bzoj2242: [SDOI2011]计算器(数论)
- CentOS服务器安装FFmpeg指南
- WordCount_命令行运行时指定参数
- Git 将代码恢复到一个历史的版本
- Apache commons——Apache旗下的通用工具包项目
- 移动ChemDraw结构有什么方法
热门文章
- 【New】Code Insertion
- 超小体积单键/1路1感应通道触摸触控检测IC-VKD233HS DFN6 2*2mm,常用于TWS蓝牙耳机入耳检测、运动手环等小体积单键触摸产品
- 分享一些小tips
- PostgreSQL 备份
- MySQL 常见索引类型介绍
- 完成 DolphinScheduler 新手任务赢好礼活动 | 倒计时3 天
- Luogu3435 [POI2006]OKR-Periods of Words (KMP)
- React性能优化,六个小技巧教你减少组件无效渲染
- 管理 MongoDB 用户和权限
- 分库分表之ShardingSphere