欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    面向对象的特性.ppt

    • 资源ID:2311428       资源大小:276KB        全文页数:37页
    • 资源格式: PPT        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    面向对象的特性.ppt

    面向对象的特性,目标,有关面向对象的概念Java的类Java的对象Java的面向对象特性抽象类和接口Inner Class总结,面向对象的概念,面向对象程序设计围绕的几个主要概念:抽象数据类型、类、类型层次(子类),封装性,继承性、多态性对象,消息和方法,抽象数据类型,class Car int color_number;int door_number;int speed;void brake()void speedUp();void slowDown(),抽象数据类型,类,什么是类?类是描述对象的“基本原型”,它定义一种对象所能拥有的数据和能完成的操作,在面向对象的程序设计中,类是程序的基本单元。程序中的对象是类的一个实例,是一个软件单元,它由一组结构化的数据和在其上的一组操作构成。,变量:即指对象的所知道的状态方法:指对象的功能单元。什么是消息?软件对象通过相互间传递消息来相互作用和通信 一个消息由三部分组成:1.接受消息的对象2.要完成方法的名字3.方法需要的参数,一个例子在程序中操作对象是类的一个实例:即对象创建一个对象 Hello obj=new Hello();调用方法 obj.showString(“Hello World!”),class Hello,private String s;,public void showString()System.out.println(s);public void changeString(String str)s=str;return s;,封装,什么是封装?封装把对象的所有组成部分组合在一起,封装定义程序如何引用对象的数据,封装实际上使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度。,子类,什么是子类?子类是作为另一个类的扩充或修正所定义的一个类.,bicycle,(super class),Mountain bikes,Racing bikes,Tandem bikes,sub class,继承,继承是子类利用父类中定义的方法和变量就像它们属于子类本身一样.,class Car int color_number;int door_number;int speed;push_break()add_oil(),class Trash_Car extends Car double amount;fill_trash(),何时选择继承性,一个很好的经验:“B是一个A吗?”如果是则让B做A的子类.常犯的错误:A有一个B吗?例如让汽车轮子成为汽车的子类是错误的,方法重写(overridden),什么是方法的覆盖(重写)?在子类中重新定义父类中已有的方法,class Car int color_number;int door_number;int speed;push_break()speed=0;add_oil(),class Trash_Car extends Car double amount;fill_trash()push_break()speed=speed-10;,多态性(polymorphic),什么是方法的重载(多态性)?在同一个类中至少有两个方法用同一个名字,但有不同的参数。,类,void show(int int_num),void show(double double_num),void show(nit nit_ um,float float_um),123,1.23,123,1.23,Java 类定义,包括类声明和类体类声明:publicabstract|final class className extends superclassName implements interfaceNameList,类体定义如下:class className public|protected|private static final transient volatile type variableName;/成员变量 public|protected|private static final|abstract native synchronized returnType methodName(paramList)throws exceptionList statements/成员方法,成员变量,public|protected|private static final transient volatile type variableName;/成员变量 static:静态变量(类变量;相对于实例变量 final:常量,成员方法,public|protected|private static final|abstract native synchronized returnType methodName(paramList)throws exceptionList/方法声明 statements/方法体方法声明 static:类方法,可通过类名直接调用 abstract:抽象方法,没有方法体 final:方法不能被重写 native:集成其它语言的代码 synchronized:控制多个并发线程的访问,成员方法(值参传递),public class PassTest float ptValue;public static void main(String args)int val;PassTest pt=new PassTest();val=11;System.out.println(“Original Int Value is:”+val);,pt.changedInt(val);System.out.pringln(“Int Value after Change is:”+val);pt.ptValue=101f;System.out.println(“Original ptValue is:”+pt.ptValue);pt.ChangeObjValue(pt);System.out.println(“ptValue after Change is:”+pt.ptValue);,public void changeInt(int value)value=55;public void changeObjValue(PassTest ref)ref.ptValue=99f;,方法体包括局部变量的声明以及所有合法的Java指令。局部变量的作用域在该方法内部。若局部变量与类的成员变量同名,则类的成员变量被隐藏。,class Variable int x=0,y=0,z=0;/类的成员变量 void init(int x,int y)this.x=x;this.y=y;int z=5;/局部变量 System.out.println(“*in init*”);System.out.(“x=”+x+“y=”+y+“z=”+z),public class VariableTest public static void main(String args)Variable v=new Variable();System.out.println(“*before init*”);System.out.println(“x=”+v.x+“y=”+v.y+“z=”+v.z);v.init(20,30);System.out.println(“*after init*”);,System.out.println(“x=”+v.x+“y=”+v.y+“z=”+v.z);,this-用在一个方法中引用当前对象,它的值是调用该方法的对象。返回值须与返回类型一致,或是其子类返回类型是接口时,返回值必须实现该接口。,方法重载(Method Overloading),方法重载指多个方法享有相同的方法名区别在于:参数类型不同,或个数不同;返回类型不能用来区分重载的方法。,class MethodOverloading void receive(int i)void receive(int x,int y)void receive(double d)void receive(String s),public class MethodOverloadingTest public static void main(String args)MethodOverloading mo=new MethodOverloading();mo.receive(1);mo.receive(2,3);mo.receive(12.56);mo.receive(“very interesting,isnt it?”);,构造方法,重载经常用于构造方法构造方法具有和类名相同的名称,而且不返回任何数据类型构造方法只能由new运算符调用利用构造方法进行初始化构造方法不能被继承,class Point int x,y;Point()x=0;y=0;Point(int x,int y)this.x=x;this.y=y;,finalize()方法,在根类java.land.Object中实现对对象进行垃圾收集前,系统自动调用自己重写时需要调用父类的finalize()方法,protected void finalize()throws throwable/clean up code for this class super.finalize();,Java对象,类实例化可生成对象对象通过消息传递来进行交互消息传递即激活指定的某个对象的方法以改变其状态或让它产生一定的行为。public class HelloWorldApp public static void main(String args)System.out.println(“hello”);,对象的生命周期,生成使用清除,包括声明、实例化和初始化格式:type objectName=new type(paramlist);(1)声明:type objectName 声明并不为对象分配内存空间,而只是分配一个引用空间;(2)实例化:运算符new为对象分配内存空间,它调用对象的构造方法,返回引用;一个类的不同对象分别占据不同的内存空间。,(3)生成:执行构造方法,进行初始化;根据参数不同调用相应的构造方法。对象的引用指向一个中间的数据结构,它存储有关数据类型的信息以及当前对象所在的堆的地址,而对于对象所在的实际的内存地址是不可操作的,这就保证了安全性。通过运算符“.”可以实现对变量的访问和方法的调用。设定访问权限来限制其它对象对它的访问,调用对象的变量,格式:objectReference.variableobjectReference是一个已生成的对象,也可以是能生成对象的表达式例:p.x=10;tx=new Point().x;,调用对象的方法,格式:objectReference.methodName(paramlist);例如:p.move(30,20);new Point().move(30,20);使用方法的返回值 if(p.equal(20,30)/statements when equal else/statements when unequal,

    注意事项

    本文(面向对象的特性.ppt)为本站会员(laozhun)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开