2013年(92)
分类: 信息化
2013-03-13 10:19:58
一.面向目标基础理论 1.面向目标的了解 比方一个人 目标就是实际中实实在在存在的每个个别,每个人都是一个目标,这些目标都有个人的特点,如姓名,年纪,性别等。 用面向目标的思维表明,代码如下: class Human { int mName; int mAge; //... void run(); void jump(); //... } class就是目标的详细描绘,人能够跑 ,跳动等,则是class中的函数。 类是一个笼统的概念,是对详细目标的描绘,而实际中的人则是类的一个个实体目标。 比方一个叫王小二的人: Human 王小二 = new Human();这样就创建了一个Huamn的目标王小二,王小二是一个Human,则他具有Human的全部特点和办法。 在面向目标中,咱们不必关怀类的详细完成,只需求知道其接口,就像开车相同,咱们不会关怀汽车的布局,发动机的详细完成,只需求知道方向盘,油门,刹车等等的运用 王小二.run(); 2.类之间的联系 依靠联系:use-a A类中的一个办法操作了另一个类中的目标。 聚合联系:has-a A类中的目标包含B类的目标。 承继联系:is-a ?A承继了B类,此刻A类不只有了B类的办法,还加入了个人的办法。 3.面向目标的特性 (1)封装: 封装是把进程和数据包围起来,对数据的拜访只能经过已界说的界面。面向目标核算始于这个基本概念, 即实际国际能够被描绘成一系列彻底自治、封装的目标,这些目标经过一个受维护的接口拜访其他目标。 (2)承继: 承继是一种联合类的层次模型,而且答应和鼓励类的重用,它供给了一种清晰表述共性的办法。 目标的一个新类能够从现有的类中派生,这个进程称为类承继。新类承继了原始类的特性,新类称为原始类的派生类(子类), 而原始类称为新类的基类(父类)。派生类能够从它的基类那里承继办法和实例变量,而且类能够修正或添加新的办法使之更适合特别的需求。 java只撑持单承继。 (3)多态性: 多态性是指答应不一样类的目标对同一音讯作出呼应。 函数能够同名(参数不一样,参数个数或许参数类型不一样) boolean isEquals2(int i); boolean isEquals2(double i); 在调用的时分,不必区别这两个函数,体系会依据函数的参数类型,主动区别调用。 4.目标的接口 如上面Human的目标王小二,他供给的接口就是Human类中的public函数, class Human { String mNmae; int mAge; public void setAge(int age) { mAge=age; } }这样在外部就能够调用这个函数,王小二.setAge();咱们只需求知道经过setAge()就能够设定年纪,而不需求联系详细的完成,这就是封装的特性。 只需求供给一个接口,供外部来调用。作为外部的调用者仅有关怀的: 接口是什么。 在类中完成的时分,用public,private,protected来操控外部的拜访权限。 5.关于承继 比方有一个Dog类,表明狗这个物种,有一个Bird类,表明鸟,他们都是动物,有一起的特点,则能够让他们承继Animal类 class Animal { String mName; int mSex; void run(); void jump(); } 然后Dog类能够承继自Animal class Dog extends Animal { } 这样Dog就主动具有了Animal的特点。 java中的每一个类都必须承继自另一个类,若是没有运用extends则隐式的承继Object类,Object类是一切类的超类, JDK中有阐明: --类 Object -java.lang.Object public class Object 类 Object 是类层次布局的根类。每个类都运用 Object 作为超类。一切目标(包含数组)都完成这个类的办法。 从以下版别开端: JDK1.0