[计算机软件及应用]面向对象第三章.pptVIP

  • 2
  • 0
  • 约7.39千字
  • 约 38页
  • 2018-03-04 发布于浙江
  • 举报
[计算机软件及应用]面向对象第三章

类与对象 类与对象 面向对象设计基础 面向对象与UML建模 面向对象设计基础 对象 (object) everything is an object 现实世界的对象: 桌子、书、自行车、电视、狗、文件、表格、按钮、窗口 对象包含三个特性 属性: 指对象本身的信息 方法: 实现对信息的访问/对象的操作 标志: 代表对象的标识符 面向对象设计基础 类 (class) 现实世界中,存在很多同类的对象,很多桌子、书、自行车 一种共性:类是一种抽象的概念,类中包含了数据(通常使用名词来表示)与对数据的操纵(通常使用动词来表示)。比如说人就是一种抽象的概念,人具有姓名、年龄、身高等数据,还有吃饭、跑步等操纵数据的动作。 实例(instance),某类的一个特定实体,类是对象的一个抽象 面向对象程序设计基础 封装性 类包含了数据与方法,将数据与方法放在一个类中就构成了封装。 信息隐藏--通常定义一个公共接口/方法实现对对象的访问,可以调整对象的私有信息和方法,而不会对其他调用它的对象产生影响,使用者只需要知道对象中变量和方法的功能,而不必知道行为实现的细节,也就是说,类的使用者与设计者是分开的。 可重用性 面向对象设计基础 继承性 为什么会有继承? 使用继承实现类之间的共享数据和方法的机制。 父类(超类)和子类,子类继承(拥有)父类所有的数据和方法,同时子类可以定义新的数据和方法,还可以重写父类中定义的方法。 利用继承,不必重新创建两个类共有的所有代码,而只需对现有类加以扩展即可。 面向对象设计基础 继承性 面向对象设计基础 多态性 表现在继承中(不同类中)?方法的覆盖 子类对父类方法的覆盖,父类定义的属性或方法,被不同子类所继承后可以有不同的特征或行为 子类对父类中的抽象方法的具体定义。 在不同的子类中有不同的表现形式 表现在用一个类中?方法的重载 同名但参数不同的多个方法 面向对象设计基础 多态性 多态性在继承中的表现 面向对象设计基础 6. 抽象 抽象是具体事物一般化的过程,即对具有特定属性的对象进行概括,从中归纳出这一类对象的共性,并从共同性的角度描述共有的状态和行为特征。 抽象包括数据抽象和方法抽象两个方面。数据抽象用来描述某类对象的共同状态;方法抽象用来描述某类对象的共同行为。 面向对象程序设计方法的优点 1.可重用性(核心) 可重用性就是类或方法的重复使用,避免对于同一功能多次实现产生多余代码。 OOP中的继承,抽象,封装都是服务于可重用性。 2.可扩展性 软件或程序能够很方便地进行修改扩充。 由于继承,封装,多态等特性,面向对象可以设计出高内聚,低耦合的系统结构 3.易于管理维护 类的定义和对象的创建 类是构造对象的模板或蓝图,Java程序员在编写代码时实际上是在编写类代码,对象只有程序运行时才存在。 类定义的语法: 修饰符 class 类的名字(类声明) { //类的内容(包含了属性与方法,成员变量)(类体) } 一个完整的类里还可以包含方法,构造函数,成员变量等,一个程序可能有几个类,但一般只有一个类包含main方法。 类的定义和对象的创建 类之间的关系 1.“USES-A”关系(最明显,最常见) 是一种利用的关系,类A的方法操纵了类B(对象)的成员,称 为类A“USES-A”(用到了)类B 2.“HAS-A”关系 是一种拥有关系,类A中有类B的成员引用变量,称为类A“  HAS-A”(拥有)类B 3.“IS-A”关系   是一种继承关系,旨在表达一个类是另一个类的子类,也就是说类A“IS-A”(是一种)类B 实际开发中需要用到这三种关系,要抓住现实世界中事物之间的实际关系来进行抽象,然后建立模型。 类的定义和对象的创建 构造函数 构造器特点: 1.构造器必须与类同名 2.每个类可以有一个以上的构造器 3.构造器可以有0个、1个或1个以上的参数 4.构造器没有返回值,连 void 也不能出现。 5.不能显式调用类的构造方法,构造方法通常是通过 new 关键字隐式调用。 构造函数的任务是用于完成对象属性的初始化工作。 如果在定义一个类的时候,没有为类声明构造方法,那么 Java 编译器会自动为类添加一个没有参数且方法体为空的构造方法 类的定义和对象的创建 成员变量(类的属性) 成员变量必须放在类体中,通常在成员方法之前 在方法中声明的变量不是成员变量,而是方法的局部变量 Java成员变量的声明格式如下: [public | protected | private ] [static] [final] [transient] [volatile] type variableName;  //成员变量 成员变量的考虑使用情形: 1.变量描述某

文档评论(0)

1亿VIP精品文档

相关文档