第2章 面向对象编程理论基础

面向对象是一种思维方式(理念),是一种方法论。

每个软件开发人员都会经常听到、看到“面向对象”这个词,程序员们也时常会把它挂在嘴上。
那么,什么是面向对象?什么是面向对象编程?是不是写几个类就算面向对象了?为什么要面向对象?因为别人都用,所以我也要用?
显然,并不是在程序中写了几个类就算面向对象编程了,用面向对象编程也并不是为了赶时髦。
“结构化编程”(SP)是一种编程方法,是用计算机的视角来抽象问题的方法。而“面向对象编程”(OOP)也是一种编程方法,它从更接近真实世界的视角来分析问题,使用更接近人们理解真实世界的方法来抽象问题,这种方法称为“面向对象”(OO)。
“面向对象”这个词代表的是一种认识世界、分析问题、解决问题的方法,因此它是一种方法论。而面向对象编程(OOP)则是将之应用于编程的方法。当用户会使用面向对象的方法去思考,用面向对象的模式去分析和解决问题的时候,才是真正的“面向对象”了。
本章会试图使用Object Pascal语言来告诉用户面向对象编程的理论知识,包括面向对象编程的特性以及这些特性在语言中的实现、在语义上对程序设计的影响。

2.1 类和对象的本质

“类”和“对象”是面向对象编程中最基本的概念,很多人都可以轻易地回答出什么是类,什么是对象:“类”是对一类事物的抽象(abstract),是创建对象的模板;“对象”是类的实例(instance)。
但这只是简单的概念解释而已,除此以外,还必须清楚类和对象的本质,即从语言和语义本身的角度来看,它们分别代表什么,它们是如何支撑起庞大的面向对象的世界的。

2.1.1 语言的“类”和“对象”
从语言的角度来说,“类”是用户自定义的数据类型,“对象”则是“类”类型的变量。类定义了所生成的对象的模板,于是也决定了对象所占用的内存空间。类成员分为两种:方法(即C++中的“成员函数”,笔者个人比较喜欢“成员函数”的叫法,但“方法”已经是Object Pascal的一个术语。在Delphi相关的书中,称“方法”更合理一些,因此下文全部以“方法”称呼)和数据成员。数据成员表示类对象的状态,而方法则是改变类状态的操作。
当用class关键字声明一种类型时,就创造了一个类:
type
TMyClass = class
end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ok060

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

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

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

打赏作者

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

抵扣说明:

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

余额充值