首页 > 编程语言 > 详细

java核心技术(第四章)对象与类

时间:2019-11-08 19:09:25      阅读:55      评论:0      收藏:0      [点我收藏+]

4.1 面向对象程序设计概述

每个对象包含对用户公开的特定功能部分和隐藏的实现部分。

4.1.1类

由类构造对象的过程称为创建类的实例。

封装(数据隐藏)是与对象有关的。从形式上看,封装不过是将数据和行为组合在一个包里,并对对象的使用者隐藏了数据的实现方式。

对象中的数据:实例域,  方法:操纵数据的过程。、    对于每个特定的类实例(对象)都有实例域。这些值的集合就是 这个对象的当前状态。         无论何时,只要向对象发送一个信息,它的状态就有可能发生改变。

封装的关键:绝对不能让类中的方法直接地访问其他类的实例域。即程序仅仅通过对象的方法与对象数据进行交互。

OOP可以通过扩展一个类来建立另一个新的类。======继承

4.1.2对象三个特征

对象的行为:可以对对象施加哪些操作,或者可以对对象施加哪些方法

对象的状态:当施加哪些方法时,对象如何响应

对象的标识:如何辨别具有相同行为与状态的不同对象?

对象状态的改变必须通过调用方法实现(如果不通过方法调用就可以改变对象的状态,说明封装性遭到了破坏)

4.1.3识别类

首先从设计类开始,然后在往每个类中添加方法

识别类的简单规则是在分析问题的过程中寻找名词,而方法对应着动词。

4.1.4类之间的关系

依赖   聚合    继承

依赖(uses-a)关系:如果一个类的方法操纵另一个类的对象。对于将互相依赖的类减少至最小,称为让类之间的耦合度最小。

聚合(has-a)关系:类A的对象包含类B的对象

继承(is-a)关系

4.2使用预定于类

4.2.1对象与对象变量

构造对象-----指定其初始状态-------对对象应用方法

Java中使用构造器来构造新实例,构造器的名字应该与类名相同。对于构造器而言,必须

首先初始化变量deadline。可以用新构造的对象初始化这个变量deadline=new Date();

可以让这个变量引用一个已经存在的对象Date birthday=new Date(); deadline=birthday;

 

注意:一个对象变量并没有实际包含一个对象,而仅仅引用一个对象。

在Java中任何对象的值都是对存储在另外一个地方的对象的引用。new操作符返回值也是一个引用。

Date deadline=new Date();有两个部分。

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

 

局部变量不会自动地初始化为null而必须通过调用new或将它们设置为null进行初始化。

 

4.2.2Java类库中的GregorianCalendar类

时间是用距离一个固定时间点的毫秒数表示。

类库设计者决定将保存时间与给时间点命名分开,所以标准Java类库分别包括了两个类:一个是用来表示时间点的Date类,另一个是用来表示日历表示法的GregorianCalendar类。

Date类只提供了少量的方法来比较两个时间点。例如before和after方法分别表示早和晚;Date类还有getDay、getMonth、getYear等方法。

4.2.3更改器方法与访问器方法

如何从封装的GregorianCalendar类对象内部的日期获得当前的年月日?

使用类中的get方法。     还有set方法   add方法

4.3用户自定义类

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

java核心技术(第四章)对象与类

原文:https://www.cnblogs.com/Damocless/p/11821833.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!