4.1 面向对象程序设计概述

面向对象程序设计(简称OPP)
    面向对象的程序是由 对象组成的。每个对象包含对用户 公开的特定 功能部分隐藏实现部分
    OOP中不关心对象的具体的实现,只要能满足用户的需求即可。
    程序= 算法+数据结构    
     传统的结构化程序: 算法第一位
    面向对象程序:数据第一位

4.1.1 类
    类(class)是构造对象的 模板或蓝图
    由类 构造(construct)对象的过程成为创建类的 实例
     封装(encapsulation)将数据和行为组合在一个包中,并对对象的使用者隐藏了数据的实现方式。封装的关键在于 决不能让类中的方法直接的访问其他类的实例域。
    对象中的数据称为 实例域(instance filed),操纵数据的过程称为 方法(method)。
    每个特定的类实例都有一组特定的实例域值,称为这个对象的当前 状态(state)。

    OPP的另外一个原则就是可以通过 扩展一个类来建立另外一个新的类。Java所有的类都源自同一个Object类。
    扩展一个已有的类,新类具有原来的类的所有属性和方法。这个过程称为 继承(inherittance)。

    
4.1.2 对象
对象的三个主要特性:
行为(behavior)
状态(state)
标识(identity)

4.1.3 识别类
面向对象程序的设计流程:首先从设计类开始,然后再往每个类中添加方法
识别类的简单规则:在分析问题的过程中寻找名词,而方法对应着动词

4.1.4 类之间的关系
常见关系由:
依赖(use-a)
聚合(has-a)
继承(is-a)
可以采用UML(Unified Modeling Language,统一建模语言)绘制类图

4.2 使用预定义类


4.2.1 对象和对象变量
要想使用对象,首先必须构造对象,并指定其初始状态,然后对对对象应用方法。
使用 构造器(constructor)来构造新实例。
构造器的名字要与类名相同,要想构造一个新对象,要在构造器前面加上new操作符
   
   
import java.util.*;
public class Test {
public static void main(String[] args) {
System.out.println(new Date());
//此处new Date() 相当于调用 Date().toString() 方法将返回日期的字符串描述
}
}
等价于
   
   
import java.util.*;
public class Test {
public static void main(String[] args) {
String s = new Date().toString();
System.out.println(s);
}
}
为了使构造的对象能多次使用,可以引入一个对象变量:
   
   
Date date = new Date();
定义了一个 对象变量date,可以 引用Date类型的对象, 对象变量并不是一个对象!!
   
   
s = date.toString();
将会产生编译错误
任何对象变量的值都是对储存在另外一个地方的一个对象的引用。new操作符返回值也是一个引用。

4.2.2Java类库的GregorianCalendar类
GregorianCalendar类月份从0开始,11表示十二月!

4.2.3 更改器方法和访问器方法
更改器方法:对实例域做出修改的方法 比如 
   
   
deadline.set(Calendar.YEAR, 2001);
deadline.set(Calendar.MONTH, Calendar.APRIL);
访问器方法:仅访问实例域而不进行修改的方法,比如
   
   
int month = now.get(Calendar.MONTH);
通常的习惯是在访问器方法名前面加上前缀get,更改器方法前面加上set
   
   
Date time = calendar.getTime();
calendar.setTime(time);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值