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

    Java面向对象程序设计.ppt

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

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

    Java面向对象程序设计.ppt

    第6章 Java面向对象程序设计,面向对象程序设计的基本概念封装继承多态 内部类包的使用,工作场景,了解了蛋糕店的基本业务数据和处理后,现在要分析蛋糕店相关业务对象和各种实际操作。WF蛋糕店每天都能烤出各种各样的蛋糕,有意氏蛋糕、巧克力蛋糕、冰淇淋蛋糕、奶油水果蛋糕等,每种蛋糕无论从味道、编号、价格、重量等都有各不相同,比如巧克力蛋糕的编号是B01,价格为每磅40元;巧克力蛋糕的重量级别为13磅不等。,6.2 面向对象程序设计的基本概念,面向对象分析的思想是根据人们研究的现实世界中复杂的对象是如何由许多小的、简单的对象组成的原理建立的,并认为不同的物体有共性,共性存在于个性之中,相互之间存在各种各样的联系,这种联系导致物体状态的变化。面向对象程序设计(OOP)是以对象和类为基础,由单个能够起到子程序作用的单元或对象组合而成。它的核心有:封装、继承性、多态性。,对象有两个层次的概念:现实生活中对象指的是要研究的任何事物,即客观世界的实体;系统中对象是基本的运行实体,并把属性和行为封装为一个整体。它包括属性和方法。其中属性表明对象的状态,方法表明对象所具有的行为。现实世界里有很多对象,如学生、空调、汽车等。,6.2 面向对象程序设计的基本概念 对象,封装是一种信息隐蔽技术,使数据和加工该数据的方法(函数)封装为一个整体,以实现独立性很强的模块,使得用户只能见到对象的外特性,而对象的内特性(保存内部状态的私有数据和实现加工能力的算法)对用户是隐蔽的。,6.2 面向对象程序设计的基本概念 封装,类是描述对象的“基本原型”,它定义一类对象所能拥有的数据和能完成的操作。在程序设计中,类是程序的基本单元。把所有的具有相同性质的这些对象进行归为一类,对象是类的一个实例。类可有其子类,也可有其它类,形成类层次结构。例如,学校里有很多学生,每个学生都是一个对象实例,而“学生”则是一个类。,6.2 面向对象程序设计的基本概念 类,6.2 面向对象程序设计的基本概念 类的实例,类是在对象之上的抽象,而对象是类的实例,即对象是类的具体化。例如,把学生归为一类,张三同学就是学生类的一个具体实例。,Car car1;Car car2;.,实例,实例,6.2 面向对象程序设计的基本概念 类的继承,继承是子类利用父类中定义的方法和变量,就像它们属于子类本身一样。继承分为单继承(一个子类只有一父类)和多重继承(一个类有多个父类)。继承不仅支持系统的可重用性,而且还促进系统的可扩充性。,6.2 面向对象程序设计的基本概念 类的多态性,多态性是对象根据所接收的信息而做出动作。消息是对象之间进行通信的一种构造。同一消息为不同的对象接受时可产生完全不同的行动,这种现象称为多态性。在面向对象程序设计中可通过在派生类中重定义基类函数(定义为重载函数或虚函数)来实现多态性。,6.3 封装 类,蛋糕类的定义如下:/*蛋糕对象*/public class CakeObject/类名为CakeObject/类体的内容,6.3 封装 类成员,蛋糕类有各种属性和方法,前面我们给出了一个创建类的框架,现在具体实施。蛋糕类包括的属性有编号、重量、价格等,方法有金额计算等。,6.3 封装成员变量与局部变量,在类体的变量部分中,其定义的变量称为类的成员变量;而除去成员变量,在方法中定义的变量和方法应用到的参数均属于局部变量。成员变量又分为实例变量和类变量,,(1)二者应用到Java中任一数据类型。(2)局部变量在方法内声明,而成员变量即类体变量,在创建类体时声明。(3)局部变量的作用范围只限于方法里,作用范围之外的其他方法没有不能访问它的局部变量。这点就与成员变量不同,凡是在同一类体中的方法都可以访问成员变量。(4)当二者变量命名相同时,在方法中调用同名变量时,成员变量被隐藏,真正被调用的是局部变量。,6.3 封装成员变量与局部变量比较,6.3 封装 关于this,当蛋糕类的成员方法如setCakeId设置蛋糕编号的方法,需访问类的成员变量cakeCode。如下:public void setCakeId(String cakeCode)/设置蛋糕编码的方法this.cakeCode=cakeCode;,6.3 封装 关于super,蛋糕店在对员工进行管理时,管理员类继承了员工类的属性或方法,当二者的方法名或属性名同名时,应该如何调用父类即员工类的方法或属性?,6.3 封装 方法,类包括类声明和类体。类体中包含方法,而方法同样包括方法声明和方法体。格式如下:方法声明包括方法名、返回类型和外部参数。方法体是方法的实现部分,它包括局部变量的声明以及所有合法的Java指令。,6.3 封装 方法声明,方法声明如下:String toString(int aa)String 是返回的数据类型,toString是方法名,aa是外部参数。方法也可以不要求有返回类型和外部参数,对于这种方法的声明可以用void 代替,如下:void print(),6.3 封装 方法体,方法体是方法的实现部分。如下:public String getCakeId()/获取蛋糕编码的方法return cakeCode;public void setCakeId(String cakeCode)/设置蛋糕编码的方法this.cakeCode=cakeCode;,6.3 封装 方法重载,方法的重载是一个类中含有许多同名的方法,且带有不同的参数列表。getVolume()方法的重载如下:float getVolume(float r);double getVolume(float x,int y);float getVolume(int x,float y);double getVolume(float x,float y,float z);,6.3 封装 构造方法,当我们创建蛋糕类的对象时,需给对象赋予特定的属性。如创建一个巧克力蛋糕对象后,该对象就具有属于它的蛋糕名称、编号等。初始化蛋糕对象需要应用构造方法。,6.3 封装 构造方法重载,【语法】调用重载构造方法创建对象CakeObject1 cake1=new CakeObject1();CakeObject1 cake2=new CakeObject1(B01,巧克力蛋糕,40);其中,调用构造方法自动地确定了创建对象的初始状态;构造方法在对象创建时为该对象的成员变量赋予初始化值;和访问方法一样用点运算符访问成员变量。,6.3 封装 方法和变量的访问权限,Java通过设置类成员的访问权限,来实现封装的特性,共定义了4种访问权限:(1)用关键字private修饰的成员变量和方法称为私有变量和私有方法;(2)用public修饰的成员变量和方法称为公有变量和公有方法;(3)不用任何修饰符的成员变量和方法被称为友好变量和友好方法;(4)用protected修饰的成员变量和方法被称为受保护的成员变量和受保护的方法。,6.4 继承,窝夫蛋糕店每天都能烤出各种各样的蛋糕,有法国宫廷蛋糕、意氏蛋糕、巧克力蛋糕、冰淇淋蛋糕、奶油水果蛋糕等,每种类型的蛋糕都继承了蛋糕类的属性,包括编号、价格和重量等。创建蛋糕类之后,现在继续创建每种类型的蛋糕类,比如奶油水果蛋糕类。,6.4 继承 继承的实现,创建蛋糕类的子类奶油水果蛋糕类,如下:class 奶油水果蛋糕extends蛋糕;继承得到的类为子类,被继承的类为父类,父类包括所有直接或间接被继承的类。extends是继承的关键字。,6.4 继承 继承数据成员和方法,如果子类和父类在同一个包中,那么,子类自然地继承了其父类中不是private 的成员变量和方法作为自己的成员变量。如果子类和父类不在同一个包中,那么,子类继承了父类的protected、public 成员变量做为子类的成员变量,并且继承了父类的protected、public方法为子类的方法。如果子类和父类不在同一个包里,子类不能继承父类的默认变量和默认方法。,6.4 继承 覆盖方法,如果奶油水果蛋糕类需要自己定义计算金额的方法,而计算金额的方法已经被蛋糕类定义了,但是不能满足奶油水果蛋糕类的计算要求。这时可以应用方法的覆盖来满足奶油水果蛋糕类的计算要求。,6.4 继承 覆盖方法,父类和子类都声明了同名的变量price,子类的price隐藏了父类的price,此时二者不是继承关系,可以用this.price引用本类的变量,而用super.price引用被隐藏的父类同名变量。,6.4 继承 继承中注意的问题,继承中应注意以下几点:子类不能继承父类的构造方法;由于Java 只支持单重继承机制,不支持多重 继承,所以声明的类只能有一个超类。,6.5 多态 抽象类,由于对象高级抽象的需要,希望蛋糕类只需要说明方法首部,而不需要或不可能说明其方法体,其方法体只能由其子类奶油蛋糕类来完成,如何才能实现?,6.5 多态 抽象类的定义,抽象类不能创建任何对象,抽象类只是用来由其子类继承。用关键字abstract来声明抽象方法,只允许声明,而不允许实现。例如:abstract void getPrice()用关键字abstract修饰的类称为抽象类。abstract class A/A为抽象类.,6.5 多态 抽象类的使用,一个abstract 类只关心它的子类是否具有某种功能,并不关心功能的具体行为,功能的具体行为由子类负责实现。应用抽象类时abstract 类也可以没有abstract方法;但如果一个类中含有abstract方法,那么这个类必须用abstract 来修饰。,6.5 多态 接口的定义,蛋糕店业务包括采购、制作、销售、统计等,通过分类定义不同接口,接口包括这些业务功能。每种蛋糕根据不同特点继承相应的接口,再实现具体的操作过程。这样把不同类型的蛋糕类归于不同的接口,可以更好的管理它们。,6.5 多态 接口的定义,创建一个蛋糕销售接口。结果如下:interface CakeSale/CakeSale是接口名称 double price=0;double weight=0;public double getSaleSum();,6.5 多态 接口的使用,【语法】接口使用class implements,其中,一个类通过使用关键字implements 声明自己使用一个或多个接口;如果使用多个接口,用逗号隔开接口名。,6.5 多态 接口的继承,如何避免Java的单继承缺陷,使蛋糕类实现多继承机制?,6.5 多态 内部类,WF蛋糕店的蛋糕在每类蛋糕下面还有很多不同的蛋糕,其中,巧克力蛋糕包括巧克力奶油蛋糕。所以为了管理的方便,可以在巧克力蛋糕类内部中定义巧克力奶油蛋糕类。,6.6 包 为什么使用包,WF蛋糕店的各种蛋糕类如何才能将其分类进行管理?包是Java语言中有效管理类的机制。,6.7 包 包的定义,package语句的一般格式为:package 包名可以是一个合法的标识符,也可以是若干个标识符加”分割而成,如:.cakepack;,6.6 包 包的层次结构,包的层次结构包括子包和类文件和接口文件(一个类或一个接口编译后都产生一个相应字节码文件)。包的层次结构类似文件夹的层次结构。例如:package com.menu;,6.6 包 运行包中的类,WF蛋糕店的蛋糕类定义了一个.cakepack包,下面在dos环境下运行此包中的类。,6.6 包 引入包中的类,在Java程序中需要使用某些包中的类或接口,仅需要在程序文件的开头,写上一行import语句,指出要导入哪个包的哪些类。import java.awt.image;/表示只引入包java.awt中的image类 如果要引入一个包中的全部类,则可以用星号来代替,如 import java.awt.*;,6.6 包 引入包中的类,WF蛋糕店为各种蛋糕类定义一个package.cakepack包,并将生成的包放在c:dangao目录下,当每种蛋糕类需应用同一个CakeClass类时,无需重新定义一个与CakeClass相同的类,只需要将其引入即可。,6.7 包 类的访问,类和包是封装的一种手段,类是数据及代码的容器,包是类和其他子包的一种容器。Java除了设置类成员的访问权限,还能通过设置类的访问权限,来实现封装的特性。,6.7 包 类的访问,在声明类时,如果用public 关键字修饰的类,称为公有类。可以在任何包的一个类中,使用public类创建对象。如果一个类不加public 修饰则称为友好类。那么其它类中使用友好类创建对象时,要保证它们是在同一包中。,6.7 包 访问权限,Java通过修饰符private、protected和public来说明使用权限,共定义了4种访问权限:公有的(public)、保护的(protected)、默认的和私有的(private)。,小结,本章介绍了面向对象程序设计的基本概念,并教会读者如何创建类和对象,主要介绍了Java的核心特性:封装、继承性和多态性。通过本章的学习,读者可以独立编写一个完整的Java程序,并为以后的学习打下基础。,

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开