Skip to content

【读书笔记】Java编程思想 #14

@AlexZ33

Description

@AlexZ33

对象入门

  • 所有东西都是对象,可将对象想象成一种新型变量;它保存数据,但可以要求它对自身进行操作。
    理论上讲, 可从要解决的问题身上提出所有概念性的组件,然后在程序中将其表达成一个对象

  • 程序是一大堆对象的组合;通过消息传递,各对象知道自己该做什么。为了向对象发送请求,需向那个对象“发送一条消息”。 更具体讲,可将消息想象成一个调用请求,它调用的是从属于目标对象的一个子例程或函数。

  • 每个对象都有自己的储存空间,可容纳其他对象。或者说,通过封装现有对象,可制作新型对象。 所以,尽管对象的概念非常简单,但在程序中却可达到任意高的复杂程度。

  • 每个对象都有一种类型。根据语法,每个对象都是某个“类”的一个“实例”。其中, “类”(class)是“类型”(Type)的同义词。 一个类最重要的特征就是“能将什么消息发给它”

  • 同一类所有对象能接收相同的消息。 这实际是有含义的一种说法。 由于类型为“圆”(Circle)的一个对象也属于类型为“类型”(Shape)的一个对象,所以一个圆完全能接收形状消息。 这意味着可让程序代码统一指挥“形状”, 令其自动控制所有符合“形状”描述的对象,其中自然包括“圆”。 这一特性为称为 对象的“可替换性”, 是OOP最重要的概念之一

当然,有一些语言设计者认为面向对象的程序本身并不足以方便解决所有形式的程序问题,提倡将不同的方法组合成 “多形程序语言”
关于这方面可以参看 Timothy Budd 编著的《Multiparadigm Programming in Leda》

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions