Java面向对象设计(类对象构造方法重栽).ppt

上传人:小飞机 文档编号:6510328 上传时间:2023-11-07 格式:PPT 页数:32 大小:480KB
返回 下载 相关 举报
Java面向对象设计(类对象构造方法重栽).ppt_第1页
第1页 / 共32页
Java面向对象设计(类对象构造方法重栽).ppt_第2页
第2页 / 共32页
Java面向对象设计(类对象构造方法重栽).ppt_第3页
第3页 / 共32页
Java面向对象设计(类对象构造方法重栽).ppt_第4页
第4页 / 共32页
Java面向对象设计(类对象构造方法重栽).ppt_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《Java面向对象设计(类对象构造方法重栽).ppt》由会员分享,可在线阅读,更多相关《Java面向对象设计(类对象构造方法重栽).ppt(32页珍藏版)》请在三一办公上搜索。

1、上节课内容提问,内容提问,Java面向对象设计1,本课内容,面向对象的思想类、属性和方法对象的创建和使用构造方法重载,1.面向对象的基本概念,OOP:Object Oriented Programming,是目前主流的程序设计语言,传统的编程技术是结构化、面向过程的OOP是对现实世界运行方式的模拟,按人们思维习惯来描述问题、解决问题 对象(object)和类(class)是面向对象方法的核心概念类是对相同或相似事物的一种抽象,描述了一类事物的共同特征对象是实际存在的某类事物的个体,也称之为类的实例(instance),对象(Object),对象是对现实世界中事物的建模,拥有状态和行为(An o

2、bject is a software bundle of related variables and methods)状态-成员变量,行为-成员方法,variables make up the centerMethods surround and hide the objects nucleus from other objectsprovide modularity and information hiding benifits,类(Class),类是对相似行为的对象的一种抽象,描述了属于该类型的所有对象的性质-统一的属性和操作方式(A class is a blueprint or pr

3、ototype that defines the variables and the methods common to all objects of a certain kind)类就是对象的数据类型,对象是类的实例Fruit apple,grape;从一个类可以创建多个对象,这些对象具有相同的行为,但各自拥有自身的状态,以对象思考问题,以面向对象的思维来思考一个问题的解答时,会将与问题相关的种种元素视为一个个对象,简单地说,面向对象的思维就是以对象为中心来思考问题,然而什么又叫做以以对象为中心来思考问题”呢?我不想用太多抽象的字眼来解释这些词语,这里提出一个实际问题,并尝试以面向对象的方式

4、来思考 有一个账户,账户中有存款余额,您可以对账户进行存款与提款的动作,并可以查询以取得存款余额。要以对象为中心来思考问题,首先要识别出问题中的对象,以及对象上的属性与可操作的方法。,识别问题中的对象与属性,账户是一个比较单纯的问题,可以从问题中出现的名词来识别出对象,描述中有账户与余额两个名称,基本上这两个名称都可以识别成对象,当然在这个简单的问题当中,我们先识别账户这个对象。识别出对象后,接下来我们看看对象上有什么属性(Property),像对象上拥有什么特征或是可表示的状态.属性是对象的静态特征,属性基本上也可以从名词上识别,在这个例子中,您可以将余额作为账户的属性之一。,账户,账户余额

5、,识别对象上的方法,接着要识别对象上的方法,也就是对象上的动态特征,即对象可以“干什么”,用我们专业的话说就是对象本身可操作或供操作的接口。根据描述“存款”、“提款”、“余额查询”可以识别为方法,账户,存款余额,存款提款查询余额,练习:Car.java UseCar.java什么是类和对象、属性和方法的定义、类的实例化、类成员的访问,类和对象之间的关系,类不是对象(却是用来创建它们的模型)类是对象的蓝图,它告诉虚拟机如何创建某种类型的对象。,Java虚拟机,类,如何获得对象?,调用类的构造函数创建对象,类的构造函数,创建一个个对象,虚拟机,定义构造函数,与类名称同名的方法称为构造函数,它没有返

6、回值。构造函数的作用就是让您在构造对象实例的同时初始化一些必要信息,构造函数在创建对象实例的时候被调用。构造函数有无参和有参两种形式 系统默认提供一个无参的构造函数。一旦您定义一个有参的构造函数,系统不再提供默认的构造函数,对象的产生和使用,创建对象实例的根本途径是构造器,通过new关键字来调用某个类的构造器即可创建这个类的实例/定义一个Person类型的变量Person p;/通过new关键字调用Person类的构造器,返回一个Person实 例,将该Person实例赋给p变量。p=new Person();,对象、引用,有这样一行代码p=new Person();这行代码创建一个Perso

7、n实例,这个实例在堆内存里。在java中,通过new运算符创建出的对象,都被放入到堆内存里.,Person p;,p,栈内存,p=new Person();,name,age,堆内存,通过new关键字生成的对象存放在堆内存里,对象 引用,java不允许直接操作内存,所以我们无法直接操作堆内存里的对象,如果想要操作对象,必须通过引用 Person p=new Person();,引用,可以通过引用p来操作 对象上的方法 p.setName(张三),对象,引用,对象、引用,当一个对象被创建后,这个对象将保持在堆内存,Java程序不允许直接访问堆内存的对象,只能通过引用访问。如果堆内存里的对象没有任

8、何引用指向它,这个对象也就成了垃圾,Java的垃圾回收机制将回收该对象,释放该对象所占的内存.因此,如果希望通知垃圾回收机制回收某个对象,只需要切断该对象的所有引用变量和它之间的关联即可,也就是把这些引用设为null,构造方法,特征1.与类同名,用new 调用2.构造器没有任何返回类型,哪怕是void也不行。假如指定了返回值,那么Java会视为一个普通的方法。3只要类中显式地定义一个或多个构造器,那么Java不会再为你定义一个默认的构造器,new 关键字,new 关键字的作用:(1)为该对象分配内存空间;(2)返回该内存空间的引用,返回首地址;(引用是指指针的别名)(3)调用构造函数,构造函数

9、自动将成员赋初值。,练习,1、定义一个类Person此类有成员属性:name,age,sex,有说话say(),吃饭eat()行为要求说话的内容是:我叫 name 男 年龄:age 吃饭eat()说:我爱吃水果“定义Test测试类,调用say,eat(),提示:a.定义拥有参数的构造方法初始化成员属性,b.如果系统不允许提供有参构造,程序如果实现,操作符:=,=,equals使用,操作符=基本数据类型是传植对象是改变其引用Assignment.java,操作符=/equals,操作符=/equals1、=比较的是地址(否是同一个对象),如果是具体的阿拉伯数字的比较(基本数据类型),值相等则为T

10、RUE,如:int a=10 与 long b=10L 与 double c=10.0都是相同的(为true),因为他们都指向地址为10的堆栈;2、String的equals()方法比较的是两个String对象的内容是否一样Equivalence.java,重载(Overload)方法,java允许一个类中有多个同名的方法,只要形参列表不同就行,为什么要这样做,重载,重载方法重载是让类以统一的方式处理不同类型数据的一种手段。Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同个数和类型的参数来决定具体使用哪个方法,这就

11、是多态性。,方法重载,1.构造器重载2.方法重载,构造器重载,是指同一个类中存在着若干个具有不同参数列表的构造函数。这样,在创建该类的对象时,就可以根据不同的情况选择不同的构造函数,提高编程灵活性。,SimpleConstructor2.java,重载特征,方法名相同参数列表不同在同一个类中方法体不同,方法重载OverloadingOrder.java,重载练习,1.定义一个类Book,当我知道书的名字或书的价格的时候可以获得这本书,或我知道书的出版商和书名时也可以获得一本书。请用OO设计这个类,并测试。2.一个矩形可用两个点表示,一个三角形可用三个点来表示,一个圆可用一个点和一个半径来表示。

12、请实现三个同名方法(calArea),分别计算给出的矩形、三角形和圆形的面积。矩形为Rect,三角形为Triangle,圆形为Circle(请注意大小写)。(每个点用x,y两个坐标表示,x坐标在前,y坐标在后).,This关键字,This 关键字的使用1.在构建器里调用构建器尽管可用this调用一个构建器,但不可调用两个。构建器调用必须是我们做的第一件事情Flower.java 2.解决局部变量和成员变量名称相同的问题DemoThis.java,类的初始化顺序,顺序:类变量构造方法普通方法练习:OrderOfInitialization.java,课后作业,第1题:编译、运行本课例题;第2题:编写一个student类,有学号、姓名、年龄等属性。要求提供一到多个构造方法,成员变量的设置、访问方法,第3题:编写一个test类,对student类进行第4题:编译、运行test类。,课后作业2,编写一个Java 程序,它具有两个类:Employee和WageCalculator。类Employee具有有关雇员信息的一下详细信息,即,姓名、雇员号码、已工作时间(小时)、每小时工工资。WageCalculator创建Employee类的实例并获得雇员的详细信息以计算工资并打印到控制台。使用Emoloyee类的构造器为其中的不同变量赋值。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号