Java第三章面向对象技术的复习回顾.ppt
《Java第三章面向对象技术的复习回顾.ppt》由会员分享,可在线阅读,更多相关《Java第三章面向对象技术的复习回顾.ppt(58页珍藏版)》请在三一办公上搜索。
1、计算机专业三年级,第三章面向对象技术回顾,南京农业大学谢忠红,计算机专业三年级,内容简介,3.1 类和对象的定义和使用;3.2类的封装 封装的概念、如何封装?3.3类的继承 继承的概念、再论构造函数 3.4类的多态 方法的覆盖、方法的重载 3.5Java和C+这章的主要不同点,计算机专业三年级,3.1 类和对象的定义和使用,Java 是(纯)面向对象的编程语言-万物皆对象,客观世界是各种对象的集合-复杂的对象由简单的对象组合而成-每个对象都是唯一的(单独分配内存)-对象具有属性和行为,他们之间进行消息发送-对象都属于某个类,计算机专业三年级,类和对象的概念,什么是类?什么是对象?对象在我们所处
2、的客观世界中,每一个有明确的意义和边界的事物都可以看作一个对象(Object)例如:某台电脑,一辆汽车对象类(简称类Class)我们可以把具有相似特征的事物归为一类,也就是所把具有相同属性的对象看成一个对象类。例如:“电视机类”类-电视机的设计图 对象-各家各户的电视机Java 是通过先定一个类,然后按照类的结构创造一个又一个对象。,计算机专业三年级,class Car String type;int color;int price;void start()void brake();void accelerate(),现实世界汽车类,计算机世界描述的汽车类,MyFirstCar=new car
3、()计算机世界描述的一辆汽车(对象),计算机专业三年级,class man String name;int age;float weight;String ID;void move()void speek();void work(),现实世界人类,计算机世界描述的人(类),Jack=new man()计算机世界描述Jack(对象),Jack,计算机专业三年级,使用Java如何创建一个类,类声明格式:class 修饰符:public|private|空类名:一个自定义的修饰符号,public class person private String name;int age=12;int weig
4、ht=30;public person()public void speak()public String go().public void work(int a),计算机专业三年级,抽象类举例,class point int x,y;/属性声明 point()x=0;y=0;/默认的构造函数 point(int x1,int y1)x=x1;y=y1;/自定义构造函数 void print()System.out.println(“(”+x+”,”+y+“)”,计算机专业三年级,public class Circle,抽象类举例,private int x,y;private double
5、r;,Circle(int x1,int y1,double r1)x=x1;y=y1;r=r1;,void setX(int x1)x=x1;void setR(int r1)r=r1int getY()retrun y;double getR()return r;,public double getCir()return Math.PI*r*2;public double getArea()return Math.PI*r*r;,计算机专业三年级,public class useCircle public static void main(String args)f loat s=0;L=
6、0;/创建了2个圆对象,Circle c1=new Circle(20,50,15.0);Circle c2=new Circle(100,110,30.0),s=c1.getArea();/调用方法L=c1.getCir();System.out.println(“圆c的面积是:”+s+“圆c1的周长是:”+L);,c1=c2;/对象的赋值L=c1.getCir();System.out.println(“圆c1的周长是:”+L);,计算机专业三年级,通过类创建对象,格式:类型 对象名=new 类型(参数列表);如:Circle c1=new Circle(20,50,15.0);,创建对象
7、比较:C+:Circle c1;Java:Circle c1=new Circle(20,50,15.0);,计算机专业三年级,执行 c1=c2 后呢?,对象的赋值 c1=c2;,返回,计算机专业三年级,实例变量和局部变量,Java中的变量分为两种:类内定义的 实例变量(成员变量);方法中定义的 局部变量;,class point int x,y;/实例变量 void init(int a,int b)int s=0;/局部变量;x=a;y=b;,计算机专业三年级,实例变量和局部变量,类内定义的实例变量;方法中定义的局部变量;,class point,int x,y;/实例变量,void in
8、it(int a,int b)int x=0;/局部变量;x=a;x=b;,计算机专业三年级,Public class exp Public void display()int x=1;int x=0;/错误,注意:在同一个作用域内,不允许定义两个同名的局部变量。,计算机专业三年级,实例变量和局部变量,class Point protected int x,y;/实例变量 point(int x1,int y1)x=x1;y=y1;public void setValue()x=5;y=10;public void printValue()int x=15;/局部变量 System.out.p
9、rintln(+x);public void printInsValue()x=5*x;y=y/5;System.out.println(x+y);public static void main(String args)/在类中 Point p1=new Point(10,10);p1.setValue();p1.printValue();p1.printaInsValue();,计算机专业三年级,Class Point/保存为point.h文件Public:Point(int x1,int y1)x=x1;y=y1;setValue();print()cout“x=”x“y=”y prote
10、cted:int x,y;,#include/保存为*.cppint x;void Point:setValue()Point:x=0;Point:y=0void main()Point p1;p1.setValue();:x=12;,注意:C+支持全局变量而Java不支持,计算机专业三年级,构造函数(特殊的方法),DEF:构造函数是在创建对象的时候自动调用的一个方法,该方法与类名同名。,构造函数的作用:主要是用来初始化对象的数据属性。,计算机专业三年级,举例,class CellPhone private String type;private String color;private do
11、uble price;public CellPhone(String type,String color,double price)this.type=type;this.Color=color;this.Price=price;public static void main(String args)CellPhone Mine=new CellPhone(“Nokia”,“Red”,“1500.0”);,计算机专业三年级,class Date int year,month,day;void print(),class Date int year,month,day;void print()S
12、ystem.out.println(date is+year+-+month+-+day);,Date(),系统自动创建一个默认构造器,计算机专业三年级,一个类可以有多个构造函数(重载),根据参数的不同决定执行哪一个.,计算机专业三年级,多个构造器,class Point int x,y,z;Point()x=1;y=1;/默认的构造函数 Point(int new_x,int new_y)x=new_x,y=new_y;Point(int new_x,int new_y,int new_z)x=new_x,y=new_y;z=new_z;,class UsePoint Point point
13、_A=new Point();Point point_B=new Point(5,7);point point_c=new Point(10,20,87),其中无参构造其实默认的构造器,计算机专业三年级,构造函数的特点:,1、构造函数的函数名与类名相同2、构造函数没有返回值(但是不加void修饰符)3、构造函数可以没有参数默认构造函数4、构造函数可以有参数自定义构造函数,Java采用垃圾自动回收机制没有析构函数(C+),计算机专业三年级,3.2类的封装,class private 属性 构造函数 方法,封装的定义:类的设计者把类设计成一个黑匣子,使用者只能看见类定义的公共方法而看不见方法实现的
14、细节;也不能对类的数据进行操作.,计算机专业三年级,为什么要对类进行封装呢?,(1)隐藏类的细节(使用类的人无需知道细节)(2)迫使用户通过方法接口去访问数据 防止外部对类中数据的干扰(3)封装减少了程序对类中数据表达的依赖性,增强了代码的可维护性。,类封装的概念可以打个比方:拿收音机做类比,计算机专业三年级,public class MyDate/类的封装 private int year,month,day;/成员变量,私有的 public MyDate(int y,int m,int d)/对私有成员赋值 year=y;month=m;day=d:public void setYear(
15、int y)year=y;public void setDay(int d)dayr=d;public int getYear()return year;/返回私有成员以便利用 public int getMonth()return month;public int getDay()return day;public void print()System.out.println(date is+year+:+month+:+day);,计算机专业三年级,class EncapsueDate public static void main(String args)MyDate a=new MyD
16、ate(2002,6,28);a.day=13;System.out.println(a.year+”:”+a.month+”:”+a.day);a.print();,对吗?,对吗?,计算机专业三年级,3.3类的继承,DEF:子类继承父类的属性和方法,以及在父类的基础上添加新的属性和方法则就叫做继承。,在 Java 中,有一个被称为Object的特殊超类,所有的类都直接或间接地继承Object类,计算机专业三年级,父类和子类 之间反映的是“一般与特殊”的关系,父类和子类 之间反映的是“一般与特殊”的关系,计算机专业三年级,继承语法:class className extends superCl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 第三 面向 对象 技术 复习 回顾

链接地址:https://www.31ppt.com/p-6510081.html