第一章 对象导论
作者:互联网
1.1 抽象过程
所有编程语言都提供了抽象机制。
抽象①:解决问题时基于计算机结构(如汇编语言);
抽象②:解决问题时只针对问题建模(但是这还不是面向对象,如早期的某些编程语言,它们有的把所有问题都转化为列表,把所有问题都转化成算法形式,但是都是解决特定的问题);
面向对象:解决问题时基于所要解决的问题的结构,根据问题来描述问题,而不是像抽象①和抽象②。
·万物皆为对象;
·程序是对象的姬和,它们通过发送消息来告知彼此所要做的;
·每个对象都有自己的由其他对象所构成的存储(就是包含);
·每个对象都拥有其类型;
·某一特定类型的所有对象都可以接收同样的信息(就像圆形也是几何形,那么圆形也能接受发给几何形的信息)。
1.2 每个对象都有一个接口
方法就是接口。
面向对象总如何根据问题来描述问题,就是定义类。
1.3 每个对象都提供服务
每个对象都只好好完成一项任务,不去做更多的事。就是不要把所有事情都堆在一个对象里,将事情合理分解,也易于修改。
1.4 被隐藏的具体实现
把程序开发人员分为类创建者和客户端程序员。
类创建者:构建类;
客户端程序员:收集类用来进行应用开发。
这就像是我们刚开始学习时接触到的一个例子,时钟。类创建者将时钟抽象成一个类,如小时、分钟、秒构成一个属性类,设置闹钟、调时钟的方法构成一个类;这是客户端程序员就能用这些类去做一个小闹钟应用了,并可以在原本的类的基础上进行添加功能,如秒表。
但是呢,客户端程序员不需要接触到属性类,只需要运用方法类,同时类创建者也不希望客户端程序员能接触到它们不需要接触到的类,以免产生严重的bug。那么这时候就需要访问控制了。
访问控制:public > 默认 > protected > private
·让客户端程序员无法触及他们不应该触及的部分;
·允许库设计者可以改变类内部的工作方式而不会担心会影响到客户端程序员。(有时候你会发现你的类能更加精简,那么你会去修改它让它可以运行的更快)
1.5 复用的具体实现 1.6 继承
代码复用是OOP所提供的最了不起的优点之一。
最简单的服用就是组合(has-a)了,即将一个类的对象置于另一个新的类中。(汽车拥有引擎)
标签:创建者,对象,导论,第一章,问题,面向对象,抽象,客户端程序 来源: https://www.cnblogs.com/wasi-991017/p/11535083.html