面向对象的程序由对象组成的,每个对象包含对用户公开的特定功能部分和隐藏的实现部分。
oop将数据摆在第一位,然后考虑操作数据的算法。

对象

要使用OOP,要了解对象的三个主要特性:

  • 对象的行为(behavior) ———— 可以对对象施加哪些操作,或可以对对象施加哪些方法?
  • 对象的状态(state) ———— 当施加那些方法时,对象如何响应?
  • 对象标识(identity) ———— 如何辨别具有相同行为与状态的不同对象?

类之间的关系

  • 依赖(“uses-a”)
    如果一个类的方法操作另一个类的对象,我们就说一个类依赖另一个类
  • 聚合(“has-a”)
    聚合意味着类A的对象包含类B的对象
  • 继承(“is-a”)
    类A扩展类B,类A不但包含从类B继承的方法,还会拥有一些额外的功能

使用预定义类

对象与对象变量

要想使用对象,就必须首先构造对象,并指定其初始状态。然后,对对象应用方法。
構造器(constructor)用来构造新实例。构造器是一种特殊的方法,用来构造并初始化对象。

构造器的名字应与类名相同。
以Date类为例,Date类的构造器名为Date。构造一个Date对象,需要在构造器前面加上new操作符。
new Date()
这个表达式构造一个新对象,这个对象被初始化啊为当前的日期和时间。
为了让构造的对象能多次使用,将对象存放在一个变量
Date birthday = new Date()

下图显示了引用新构造的对象变量birthday

创建一个新对象

在对象与对象变量之间存在一个重要的区别。例如
Date deadline //deadline doesn’t refer to any object
定义了一个对象变量deadline,它可以引用Date类型的对象。
但是,变量deadline不是一个对象,实际上也没有引用对象。

必须初始化变量deadline,有两个选择。一是用新构造的对象初始化这个变量
deadline = new Date()
二是让这个变量引用一个已存在的对象:
deadline = birthday
现在两个变量引用同一个对象

引用同一个对象的对象变量

一个对象变量并没有实际包含一个对象,而仅仅引用一个对象。
在Java中,任何对象变量的值都是对存储在另外一个地方的一个对象的引用

Date deadline = new Date()
表达式new Date()构造了一个Date类型的对象,并且它的值是对新创建对象的引用。这个引用存储在变量deadline中。

可以将对象变量设为null,表明这个对象变量目前没有引用任何对象。
deadline = null;

夜河资源网提供的所有内容仅供学习与交流。通过使用本站内容随之而来的风险以及法律责任与本站无关,所承担的法律责任由使用者承担。
一、如果您发现本站侵害了相关版权,请附上本站侵权链接和您的版权证明一并发送至邮箱:yehes#qq.com(#替换为@)我们将会在五天内处理并断开该文章下载地址。
二、本站所有资源来自互联网整理收集,全部内容采用撰写共用版权协议,要求署名、非商业用途和相同方式共享,如转载请也遵循撰写共用协议。
三、根据署名-非商业性使用-相同方式共享 (by-nc-sa) 许可协议规定,只要他人在以原作品为基础创作的新作品上适用同一类型的许可协议,并且在新作品发布的显著位置,注明原作者的姓名、来源及其采用的知识共享协议,与该作品在本网站的原发地址建立链接,他人就可基于非商业目的对原作品重新编排、修改、节选或者本人的作品为基础进行创作和发布。
四、基于原作品创作的所有新作品都要适用同一类型的许可协议,因此适用该项协议, 对任何以他人原作为基础创作的作品自然同样都不得商业性用途。
五、根据二〇〇二年一月一日《计算机软件保护条例》规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可不经软件著作权人许可,无需向其支付报酬!
六、鉴此,也望大家按此说明转载和分享资源!本站提供的所有信息、教程、软件版权归原公司所有,仅供日常使用,不得用于任何商业用途,下载试用后请24小时内删除,因下载本站资源造成的损失,全部由使用者本人承担!