面向对象程序设计(OOP)2

2 篇文章 0 订阅

2.每个对象都有一个接口

因为类描述了具有相同特性(数据元素)和行为(功能)的对象集合,所以一个类实际上就是一个数据类型。创建的抽象数据类型与内置类型的差异在于,程序员通过定义类来适应问题,而不再被迫只能使用现有的用来表示机器中的存储单元的数据类型。可以根据需求,通过添加新的数据类型来扩展编程语言。编程系统欣然接受新的类,并且像对待内置类型一样的照管它们和进行类型检查。

上面解释了类为何被建立,一旦类被建立,就可以创建类的任意个对象。
如何获得有用的对象?必须有某种方式产生对对象的请求,使对象完成各种任务。这些请求就是由对象的接口(interface)所定义,决定接口的便是类型。
Light it = new Light();
it.on();
上例中,类的名称是Light,特定的Light对象的名称是it,可以向Light对象发出的请求是:打开它。你以下列方式创建了一个Light对象:定义这个对象的“引用”it,然后调用new方法来创建该类型的新对象。为了向对象发送消息,需要声明对象的名称,并以圆点符号连接一个消息请求。从预定义类的用户观点来看,这些差不多就是用对象来进行设计的全部。


3.每个对象都提供服务
即把对象看作“服务提供者”。我们的目标就是去创建(或者最好是在现有代码库中去寻找,如jar包.类库)能够提供理想的服务来解决问题的一系列对象。


4.被隐藏的具体实现
Java用public.private.protected三个关键字在类的内部设定边界,来实现访问控制,以此来将开发人员分为类创建者客户端程序员


5.复用
组合:”has-a”关系,直接使用该类的一个对象或将那个类的一个对象置于某个新的类中。我们称其为“创建一个成员对象”。

继承:”is-a”和”is-like-a”关系,区别是是否在导出类中添加新的接口元素,扩展了接口。如果是,那么基类无法访问新添加的方法,故称”is-like-a”。


6.伴随多态的可互换对象
引入后期绑定的概念:

当向对象发送消息时,被调用的代码直到运行时才能确定。编译器确保被调用方法的存在,并对调用参数和返回值执行类型检查,但是并不知道将被执行的确切代码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值