对象和类 AvA Object Orient Programming简称OOP 面向对象程序设计的三个特点 1)数据封装 2)继承 3)多态 程序是由一定的属性和行为的对象组成的这些行为可 被对象执行。是自己创建对象还是购买它可能取决于 你的预算开支或时间。 只要对象能满足你的需求,就不必去关心其功能是如 何实现的。 在OOP中惟一需要关心的是对象的接口是什么 JAVA
对象和类 Object Orient Programming——简称OOP 面向对象程序设计的三个特点: 1) 数据封装 2) 继承 3) 多态 程序是由一定的属性和行为的对象组成的,这些行为可 被对象执行。是自己创建对象还是购买它可能取决于 你的预算开支或时间。 只要对象能满足你的需求,就不必去关心其功能是如 何实现的。 在OOP中惟一需要关心的是对象的接口是什么
AvA OOP中对象的三个主要特性 1.对象的行为这个对象能做什么,或 者说可以对这个对象施加什么方法? 对象的状态当对象施加方法时,对 象如何反应? 3.对象的标识符对象是如何与可能具 有相同行为和状态的其他对象相区别的? JAVA
OOP中对象的三个主要特性 1. 对象的行为——这个对象能做什么,或 者说可以对这个对象施加什么方法? 2. 对象的状态——当对象施加方法时,对 象如何反应? 3. 对象的标识符——对象是如何与可能具 有相同行为和状态的其他对象相区别的?
AvA 类的一个实例—对象 ○对属于同一个类的所有实例对象来说,它们都 支持类似的行为,就像一家人那样。 ○对象的行为是通过可被调用的方法来定义的。 ○每个对象都保存有其当前特征的信息,即对象 的状态。 一个对象状态的改变必然是方法调用的结果 (如果没有方法调用施加于此对象,而对象的 状态却发生了变化,那么就破坏了封装)。 A 对象的状态并不能完全地描述一个对象,每 JAVA
类的一个实例——对象 对属于同一个类的所有实例对象来说,它们都 支持类似的行为,就像一家人那样。 对象的行为是通过可被调用的方法来定义的。 每个对象都保存有其当前特征的信息,即对象 的状态。 一个对象状态的改变必然是方法调用的结果 (如果没有方法调用施加于此对象,而对象的 状态却发生了变化,那么就破坏了封装)。 对象的状态并不能完全地描述一个对象,每个 对象还有一个惟一的标识符
AVA 对象——类的一个实俐 在传统的面向过程的程序中,以man函数 从最顶部开始编写。 在设计一个面向对象的系统时,并没有 “最顶部”之说,所以对于OP的新手来 说,往往不知道从哪里开始。答案就是: 首先设计类,然后往每个类中添加方法。 JAVA
对象——类的一个实例 在传统的面向过程的程序中,以main函数 从最顶部开始编写。 在设计一个面向对象的系统时,并没有 “最顶部”之说,所以对于OOP的新手来 说,往往不知道从哪里开始。答案就是: 首先设计类,然后往每个类中添加方法
AvA 使用现有的类 o要使用对象,首先就必须构造它们,并指 定它们的初始状态,然后将方法应用于对 象 在Jva程序设计语言中,使用构造器 ( constructor)来构造新的实例。 一个构造器就是一个特殊的方法,它的作 用是构造并初始化对象。 JAVA
使用现有的类 要使用对象,首先就必须构造它们,并指 定它们的初始状态,然后将方法应用于对 象。 在Java程序设计语言中,使用构造器 ( constructor)来构造新的实例。 一个构造器就是一个特殊的方法,它的作 用是构造并初始化对象
使用现有的粪 在Java中,没有类就不能做任何事。 ○然而,如Math类,我们可以使用Math类 的方法,如 Math. random,而不必知道它 们是如何实现的(如果有的话,我们只需 知道名字和参数)。这正是封装的的含义。 O Math类只是封装了功能,它既不需要也没 有隐藏数据。由于没有数据,所以既不需 要创建对象,也不需要初始化其实例字段。 JAVA
使用现有的类 在Java中,没有类就不能做任何事。 然而,如Math类,我们可以使用Math类 的方法,如Math.random,而不必知道它 们是如何实现的(如果有的话,我们只需 知道名字和参数)。这正是封装的的含义。 Math类只是封装了功能,它既不需要也没 有隐藏数据。由于没有数据,所以既不需 要创建对象,也不需要初始化其实例字段
AvA 使用现有的粪 o以标准Java库中的Date类为例,它的对象 描述了时间。 Q构造器的名字和其类名相同。因此,Data 类的构造器叫做Date o在构造一个Date对象时,在构造器前面加 上new运算符,如下所示: new Date 这个表达式即构造了一个新的对象,并且 此对象被初始化为当前日期和时间 JAVA
使用现有的类 以标准Java库中的Date类为例,它的对象 描述了时间。 构造器的名字和其类名相同。因此,Data 类的构造器叫做Date。 在构造一个Date对象时,在构造器前面加 上new运算符,如下所示: new Date() 这个表达式即构造了一个新的对象,并且 此对象被初始化为当前日期和时间
色使用现有的类 AvA ○我们可以把对象传递给一个方法: System. out.printIn(new Date); ○相反,也可以把一个方法应用于刚刚构 造的对象。Date类中有一个 toString方法。 此方法产生表示时间的一个字符串。下 面表示了如何把 , toString方法应用于新构 造的Date对象。 String s= new DataO toString 0; JAVA
使用现有的类 我们可以把对象传递给一个方法: System.out.println(new Date()); 相反,也可以把一个方法应用于刚刚构 造的对象。 Date类中有一个toString方法。 此方法产生表示时间的一个字符串。下 面表示了如何把toString方法应用于新构 造的Date对象。 String s = new Data().toString();
AvA 使用现有的粪 在前面的两个例子中,被构造的对象只能使用 次。通常我们希望构造的对象可被多次使用,这 时需要把一个对象存储在一个变量中。 Date birthday new Date; 在对象和对象变量之间存在着一个重要的不同。 例如, Date deadline; 它定义了一个对象变量 deadline,它可以指向 类型为Date的对象。但是,变量 deadline并不是 一个对象,而且在此也没以指向任何一个对象 此时,不能对这个变量应用任何Date方法 JAVA
使用现有的类 在前面的两个例子中,被构造的对象只能使用一 次。通常我们希望构造的对象可被多次使用,这 时需要把一个对象存储在一个变量中。 Date birthday = new Date(); 在对象和对象变量之间存在着一个重要的不同。 例如,Date deadline; 它定义了一个对象变量——deadline,它可以指向 类型为Date的对象。但是,变量deadline并不是 一个对象,而且在此也没以指向任何一个对象。 此时,不能对这个变量应用任何Date方法