《Thinking in Java 4th Edition》读书笔记之1.1 抽象过程

本文介绍了面向对象编程(OOP)的基本概念及其与面向过程的主要区别。OOP强调的是问题空间的抽象,通过对象来组织程序,而面向过程侧重于解空间的抽象。文中详细解释了OOP的五大特性:万物皆对象、程序由对象组成、对象拥有自己的存储、每个对象都有类型、同一类型的对象可以接收相同的消息。

Q:什么是面向对象?与面向过程的区别是什么?

A:面向对象:即面向问题空间,基于问题进行抽象;

      面向过程:即面向解空间,基于计算机结构进行抽象;

OOP的五个基本特性:

1)万物皆对象。

【解释】

可以抽取待求解问题的任何概念化构件,将其表示为程序中的对象。

2)程序是对象的集合,他们通过发送消息来告知彼此所要做的。

【解释】

即对某个特定对象的方法的请求。

3)每个对象都有自己的由其他对象构成的存储。

【解释】

可以通过创建包含现有对象的包的方式来创建新类型的对象,因此可以在程序中构建复杂的体系,同事将其复杂性隐藏在对象的简单性背后。

4)每个对象都拥有其类型。

【解释】

每个对象都是某个类(class)的实例(instance)。

5)某一特定类型的所偶对象都可以接受同样的消息。

【解释】

“圆形”类型的对象同时也是“几何形”类型的对象,所以“圆形”的对象必能接受发给“几何形”对象的消息。这意味着“几何形”交互并自动处理所有与几何形相关的事物的代码。这种可替代性(substitutablility)是OOP中最强有力的概念之一。

转载于:https://www.cnblogs.com/HapLe0/p/7109503.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值