类与对象编程.ppt_第1页
类与对象编程.ppt_第2页
类与对象编程.ppt_第3页
类与对象编程.ppt_第4页
类与对象编程.ppt_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

,杨少波,,Java 类与对象编程,Java 类与对象编程,希望重点掌握如下知识点 与面向对象有关的概念 类与对象编程 对象删除及垃圾回收 类中成员属性定义 类中成员方法定义,1、有关面向对象(OO)的一些基本概念,(1)面向对象(Object Oriented) 哲学告诉我们:世界是由物质所组成的 面向对象告诉我们 世界是由对象所构成的,并且它们是由一组彼此相关并能相互通信的实体(Object-对象)所组成。,(2)面向对象的基本思想 使用对象、类、继承、封装、消息等基本概念来进行程序设计。 因为从OO的角度来看万物都为对象,而对象之间存在一定的关系“关联、依赖、组合和继承”,请仔细理解该程序的内涵,2、如何应用OO的基本思想 (1)从现实世界中客观存在的事物(即对象)出发来构造软件系统 (2)并且在系统构造中尽可能运用抽象、封装、继承等机制模块化程序。,3、为什么要应用面向对象的思想进行软件开发 -明确传统开发方法存在的问题,4、哪为什么面向对象又能够满足开发的要求呢 强调对象的“抽象”、“封装”、“继承”和“多态”等特性。 它能让人们以更加接近于现实世界的方式来思考程序 哪就让我们进一步地学习吧!,5、Java语言中的类及定义的语法,(1)Java语言中的类的定义语法,(2)类体中的组成 属性-成员数据或者成员变量;方法-成员函数。,6、对象是类的具体化的实例 (1)什么是对象 对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位-是类的一个变量。 (2)对象所体现出的主要特点 它具有特定的属性、行为和事件 通过对象的成员变量来维护它的属性 通过对象的成员方法来实现它的行为。 通过对象的事件来响应外部环境 7、声明的方式 类名 对象名; 如:Person yang; 8、对象的实例化(为对象具体地分配出内存空间) 对象名=new 类名(); 如: yang=new Person();,9、调用对象的成员 (1)格式 对象名.成员名; (2)代码示例 yang.teach(“Java语言”);,10、在对象访问编程时注意如下编程要点 (1)注意封装的规则 由于OOP中倡导对数据“封装”的特性,成员数据一般都被设计为隐藏(设置为private)形式; 因而不推荐采用直接访问类中的成员数据来改变对象的状态,而是通过其public型的成员方法来访问对象的成员数据; (2)利用对象不能访问类中的private成员 yang.Age=30; /错误,11、对象的删除(清除) (1)应用JVM中的垃圾回收机制 什么时候回收:当对象失除其作用域时,系统自动利用后台线程清除这些对象并释放其内存空间。,代码示例,(2)也可在程序中强行清除某一对象(将它置为null),1、类中的成员数据(属性)的定义,(1)成员数据(属性)定义的一般格式,(3)两种特殊的成员数据 static静态成员属性(变量) final 成员(符号常量),(2)示例 访问控制 变量种类 数据类型 变量名; private static int val;,类中的成员属性和方法,(4)static静态变量 应用的目的之一:它是类的变量(该类的各个对象共享某一相同的属性量的值,即与具体的对象无关);,class object char data; static int share_data; class Demo object a,b,c,d; ,应用的目的之二:可以不必在创建对象时就可以访问它,也可以为一个static对象成员(类似于C语言中的全局变量)。,public class Circle /类的实例成员变量 private int nOrignX; private int nOrignY; private int nRadius; /类的静态成员变量(所有的园其PI值是相同的) private static float PI=3.1415926; ,(5)final成员:它是类的常量,其值是不可再被改变的。,public class Circle /类的实例成员变量 private int nOrignX; private int nOrignY; private int nRadius; /类的静态成员变量 private static final float PI=3.1415926; ,注意与C+语言中的常量定义方式的差别,2、类中的成员方法的定义,(1)成员方法定义的一般格式,(2)示例 public static int Add(int x, int y) return x+y; (3)几种特殊的成员方法 static成员方法 final成员方法 abstract成员方法,(4)static成员方法 应用场合一:当成员方法操作private static 成员数据时, 该成员方法应设计为public static成员方法,以便在类外能访问private static 成员数据,应用场合二:为了使该方法能够以全局形式被访问,也应该将它设计为static方法(如类中的mian()方法),(5)final成员方法 在派生类中不能重写基类中的final成员方法; 其目的是防止子类对父类中的关键性方法的错误地重写,从而实现对基类中的方法进行保护以避免被篡改,(6)abstract成员方法和抽象类 类中只有方法原型定义(功能的要求)而无具体的方法定义体(功能的具体实现)的成员方法 一般用于对问题的初始描述与功能要求的定义并形成模板方法。,问题:如何进行抽象:找出共性、分离个性!对于个性的方法设计为抽象方法,允许子类进行扩展(个性化实现),3、区分实例方法与类方法(static方法),(1)实例方法(非静态成员方法)可以对当前对象的实例变量进行操作,也可以对类变量进行操作,但类方法不能对当前对象的实例变量进行操作; (2)在实例方法中可以使用 this和super,而在类方法中不能使用this和super。,(3)实例方法必须由实例对象来调用,而类方法即可以由实例对象来调用,也可以由类名来调用。,static方法仅能调用其他的static方法,也只能访问static数据,并且不能访问非静态方法和数据,也不能以任何方式

温馨提示

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

评论

0/150

提交评论