第1章 对象导论

抽象过程

Everything is an object

在Java语言中,将世间万物均视为对象。每个对象都会有自己的属性行为,其中对象的固有属性在Java语言中表现为变量(variable),而对象的行为则在Java语言中表现为方法(method)。另外,自然界中的万物根据某些特性又可以进一步划分类别,对应在Java语言中的类型(class)标识,而且Java中的对象均基于某一特定的类型标识。

对象的接口与服务

An object has an interface

每个对象都有一个接口,以便提供给外界对该对象进行操作。

An object provides services

对象作为一个服务提供者,一个附加的好处就是:可以提高对象的内聚性(Cohesiveness)

封装

对类的封装,可以更好地对外界隐藏具体的实现,只开放必要的接口。从而提高对象操作的安全性。
在Java语言中,引入了三种访问指定词(Access Specifiers),以及一个默认访问指定词(default)

访问指定词说明备注
public可以被任何类访问
protected可以被同一个包中的所有类访问
可以被所有子类访问
子类没有在同一包中,也可以访问
private只能被当前类所访问
default可以被同一包中的所有类访问如果子类没有在同一包中,不可以访问

继承

is-a

继承于某个基类的导出类,如果没有对基类作任意的修改,例如添加额外的方法等,那么给基类与导出类是“is-a”的关系。

is-like-a

继承于某个基类的导出类,如果对基类作了某些扩展性的修改,例如添加额外的方法等,那么给基类与导出类是“is-like-a”的关系

多态

在Java语言中,向上转型(upcasting)是可以自动完成的,即将导出类对象赋值给基类类型变量时,导出类会自动转型为基类。因此,经常将子类对象赋值给基类来实现多态

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值