高程序设计语言Java面向对象基础.pptx_第1页
高程序设计语言Java面向对象基础.pptx_第2页
高程序设计语言Java面向对象基础.pptx_第3页
高程序设计语言Java面向对象基础.pptx_第4页
高程序设计语言Java面向对象基础.pptx_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章面向对象基础 目录 4 1概述4 2类4 3对象4 4访问修饰符4 5习题 4 1概述 4 1 1面向对象的基本概念面向对象程序设计的基本思想就是把人们对现实世界的认识过程应用到程序设计中 使现实世界中的事务与程序中的类和对象直接对应 面向对象技术主要围绕以下几个概念 对象 抽象数据类型 类 类型层次 子类 继承性 多态性 像java语言这样的面向对象的程序设计 OOP 已成为现代软件开发的必然选择 通过掌握面向对象的技术 能开发出复杂 高级的系统 这些系统完整健全 而且可扩充性良好 4 1 2面向对象程序的特点1 抽象性 是对现实世界中某一类实体或事件进行抽象 从中提取共同信息 找出共同规律 反过来又把它们集中在一个集合中 定义为所设计目标系统中的对象 2 封装性 是指把类的基本成分 包括数据和方法 封装在类实体中 使类与外界分隔开来 封装性减少了程序各部分之间的依赖性 降低了程序的复杂性 由于隐藏了其内部信息的细节 使内部信息不易受到破坏 安全性有了保证 同时也为外界访问提供了简单方便的界面 3 继承性 新的对象类由继承原有对象类的某些特性或全部特性而产生出来 原有对象类称为基类 或超类 父类 新的对象类称为子类 子类可以直接继承基类的共性 又允许子类发展自己的个性 4 多态性 多态性是指一个类中不同的方法具有相同的名字 Java语言通过方法重载和方法覆盖来实现多态性 多态性丰富了对象的内容 扩大了对象的适应性 改变了对象单一继承的关系 4 1 3对象的基本概念对象是指一个特定的个体 其实 在人们的日常生活中 任何事物都可以看作一个对象 比如说 教室里的黑板 投影仪 课桌 电脑 老师 万物都可以看作对象 下面举一个生活中的例子 如图4 1对象的属性和方法 1 对象的属性 2 对象的方法 4 1 4类的基本概念简单来说 类是对象的抽象 是对一类相似对象的共同特征的抽象 类和对象一样 也是具有属性和方法 比如说 可以定义一个顾客类 这个类具有的属性是 性别 年龄 国籍等 方法是 付款 挑选等 现在有一个名字叫王五的顾客 性别男 中国人 这个实例就是顾客类的对象 图4 2类和对象的关系 4 2类 4 2 1类定义类的定义可以分为类声明和类体 格式如下 将类声明和类体具体来写完整格式应该是 class extends implements 成员变量声明 构造成员方法 方法声明与实现 实例4 1 TestClass javapublicclassTestClass publicstaticvoidmain String args System out println 调用类TestClass中的方法 Catcat newCat cat age 4 cat weight 8 System out println CAT cat meow System out println Age cat age tWerght cat weight System out println n在类TestClass中调用类Cat中的main方法 cat main args classCat intage intweight publicstaticvoidmain String args System out println 调用类Cat中的main方法 Catcat newCat cat age 1 cat weight 2 System out println CAT cat meow System out println Age cat age tWeight cat weight voidmeow System out println Meow 运行结果 调用类TestClass中的方法CATMeow Age 4Werght 8在类TestClass中调用类Cat中的main方法调用类Cat中的main方法CATMeow Age 1Weight 2 4 2 2成员变量Java语言中 类具有两种成员变量 一种没有static修饰 为实例变量 一另种是被static关键字修饰的变量 叫类变量 静态变量 实例变量和类变量在程序运行时具有一定的区别 1 实例变量属于某个对象的属性 其中只有实例变量才会被分配空间 因此必需创立了实例对象 才可以使用这个实例变量 2 实例变量不属于某个实例对象 而是属于类 所以也称为类变量 只要顺序加载了类的字节码 不用创建任何实例对象 静态变量就会被分配空间 实例变量必需创建对象后才可以通过这个对象来使用 静态变量则可以直接使用类名来引用 4 2 3成员方法方法和类一样 也包含了两个部分 即方法的声明和方法体 定义方法的格式如下 修饰符 返回类型成员方法名 参数 方法体 修饰符包括 public protected private static final abstract native synchronized等 4 2 4构造方法构造方法也叫构造函数 在java语言里 它是一种特殊的方法 用来初始化类的对象 构造方法的方法名必须与所属类名完全相同 但是不能为构造方法指定返回值类型 如果程序中定义的某个方法名与所属类同名的方法具有返回值类型 那么这个方法就不是构造方法 只是一个普通的方法 构造方法有如下特征 1 构造方法必须与类名相同 2 构造方法不能有返回值类型 3 构造方法是一种特殊的成员方法 4 使用new来调用构造方法 返回类型为对象实例 5 构造方法不能直接引用 只能在有系统隐含调用 6 可以利用重载 创建多个构造方法 实例4 3 DateClass java构造方法 classDateClass 变量声明intyear intmonth intday 构造方法DateClass inty intm intd year y month m day d 一般成员方法booleanisleapyear return year 400 0 year 100 0 voidprint System out println dateis year month day publicclassDateTEST publicstaticvoidmain Stringargs DateClassd newDateClass 2012 12 21 d print System out println d year isaleapyear d isleapyear 运行结果 dateis2012 12 212012isaleapyear true 4 3对象 在计算机世界中 所有的对象都具有如下特征 具有唯一标识名 具有一个状态 有一组操作方法 可以有子对象 对象的操作包括对自身操作和对其他对象操作 对象之间可以消息通信 4 3 1创建对象对象的创建包括三个部分 声明 实例化 初始化 创建对象的一般格式为 类名对象名称 new类名 声明对象 声明对象的过程并不为对性爱那个分配内存空间 分配的是引用空间 类似于c语言中的指针 实例化对象 对象声明后 运算符new会立即为对象分配内存空间 实例化该对象 New调用对象的构造函数 返回这个对象的引用 此外 使用new可以为一个类实例化多个不同的对象 而且这些对象分别占用不同的内存空间 改变其中一个对象的状态不会影响其他的对象 初始化对象 执行对应的构造函数 在构造函数中完成对象初始化 4 3 2使用对象引用对象的成员变量和成员方法被称之为对象的使用 在Java语言中 通常是通过运算符 来实现成员变量的访问和成员方法的调用 4 3 3回收对象Java程序运行时 系统通过垃圾收集周期性的释放无用对象所使用的内存空间 来完成对象的回收 当不存在一个对象的引用时 该对象就成为一个无用对象 Java的垃圾收集器自动扫描对象的动态内存空间 对正在使用的对象加上标记 将没有引用的对象作为垃圾收集起来并将他们释放 Java还通过垃圾收集器进行内存管理 因此不需要跟踪每个生成的对象 大大简化了工作量 4 4访问修饰符 4 5习题 5 设A为已定义的类名 下列声明A类的对象a的语句中正确的是 A floatAa B publicAa A C Aa newint D staticAa newA 6 设A为已定义的类名 下列声明A类的对象a的语句中正确的是 A publicAa newA B publicAa A C Aa newclass D aA 9 设A B均为已定义的类名 下列声明类A的对象a1的语句中正确的是 A publicAa1 newB B Aa1 A C Aa1 newA D intAa1 10 设A B为已定义的类名 下列声明A类的对象a1的语句中正确的是 A staticAa1 B publicAa1 newA int123 C Ba1 D Aa1 A 11 有一个类Person 以下为其构造方法的声明 其中正确的是 A publicPerson intx B staticPerson intx C publica intx D voidPerson intx 16 经典习题 打印出如下图案 菱形 16 答案publicclasstest publicstaticvoidmain String args intH 7 W 7 for inti 0 i H 1 2 i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论