1、1Java Lecture Java Lecture Java LectureJava LectureJava与面向对象技术与面向对象技术仅供学习参考Java与面向对象技术与面向对象技术n1、面向对象的概念n2、Java中的类、方法和变量n3、Java名字空间及访问规则n4、Java中的抽象类、接口和程序包n5、对象的构造方法所谓面向对象的方法学,就是使我们分析、设计 和实现一个系统的方法尽可能地接近我们认识一个 系统的方法。包括: 面向对象的分析(OOA, Object- Oriented Analysis) 面向对象的设计(OOD, Object- Oriented Design) 面向对象的程序设计(OOPL, Object- Oriented Program)面向对象技术主要围绕以下几个概念:对象、抽象数据类型、类、类型层次(子类)、 继承性、多态性。1、面向对象的概念、面向对象的概念对象对象有两个层次的概念,现实生活中对象指的 是可观世界的实体;而程序中对象就是一组变量 和相关方法的集合,其中变量表明对象的状态, 方法表明对象所具有的行为。变量变量方法方法1、面向对象的概念、
2、面向对象的概念现实生活中的对象可以将现实生活中的对象可以将现实生活中的对象 经过抽象,映射为程序中经过抽象,映射为程序中 的对象。对象在程序中是的对象。对象在程序中是 通过一种抽象数据类型来通过一种抽象数据类型来 描述的,这种抽象数据类描述的,这种抽象数据类 型称为类(型称为类(Class)。)。Class Car int color_number; int door_number; int speed;void brake() void speedUp() void slowDown() 抽象数据类型1、面向对象的概念、面向对象的概念类(Class)类是描述对象的“基本原型”,它定义一类对象 所能拥有的数据和能完成的操作。在面向对象的 程序设计中,类是程序的基本单元。相似的对象可以归并到同一个类中去,就像传统 语言中的变量与类型关系一样。程序中的对象是类的一个实例,是一个软件单元, 它由一组结构化的数据和在其上的一组操作构成。1、面向对象的概念、面向对象的概念21、面向对象的概念、面向对象的概念Car car1;Car car2; Car carN;n变量:指对象的所知道的状态。n方
3、法:指对象的功能单元。n消息 软件对象通过相互间传递消息来相互作用和通信,一 个消息由三部分组成: 1. 接受消息的对象 2. 接收对象要采取的方法 3. 方法需要的参数对象对象B对象对象 A消息消息1、面向对象的概念、面向对象的概念n一个例子n在程序中操作对象是类的一个实例。n创建一个对象: Hello obj=new Hello();n调用方法: obj.showString();class Hello private String s;public void showString() System.out.println(s); public void changeString(String str) s = str; 变量方法 showString()方法 changeString()1、面向对象的概念、面向对象的概念1、面向对象的概念、面向对象的概念为什么使用类采用简单数据类型表示现实世界中概念的局存在 一些限性。例如:采用int型数据表示一个日期概 念,需要使用3个变量:intday,month,year; 如果要表示2个人的生日,就要使用6个变量: int mybirth
4、day, mybirthmonth, mybirthyear; int yourbirthday,yourbirthmonth,yourbirthyear;类中不但有变量,还有与之相关的操 作所定义的方法。将变量和方法封装 在一个类中,可以对成员变量进行隐 藏,外部对类成员的访问都通过方法 进行,能够保护类成员不被非法修改。class BirthDate public int day,month,year; public int tomorrow() BirthDate mybirth, yourbirth; BirthDate date; 已知当前日期对象,求第2天的日期对象:date.day =date.day+1; 如果date.day已经为31,操作结果是非法状态。可以定义一个成 员方法tomorrow(),求第2天的日期对象。外部要获得当前日期 的后一天时,只要调用:date.tomorrow();1、面向对象的概念、面向对象的概念n封装 封装把对象的所有组成部分组合在一起,封装定义私有数据私有数据方法方法方法方法数据数据对象对象A对象对象B公有数据公有数据程序如何引用对象的
5、 数据,封装实际上使 用方法将类的数据隐 藏起来,控制用户对 类的修改和访问数据 的程度。1、面向对象的概念、面向对象的概念3n子类 子类是作为另一个类的扩充或修正而定义的一个类。bicycle (super class)Mountain bikesRacing bikesTandem bikessub class1、面向对象的概念、面向对象的概念 继承 继承是子类利用父类中定义的方法和变量, 就像它们属于子类本身一样。class Car int color_number; int door_number; int speed;public void push_break() public void add_oil() class Trash_Car extends Car double amount;public void fill_trash() 1、面向对象的概念、面向对象的概念n方法的覆盖 在子类中重新定义父类中已有的方法。class Car int color_number; int door_number; int speed;public void push_break(
6、) speed = 0; public void add_oil() class Trash_Car extends Car double amount;public void fill_trash() public void push_break() speed = speed 10; 1、面向对象的概念、面向对象的概念1、面向对象的概念、面向对象的概念n方法的重载(多态性) 在同一个类中至少有两个方法用同一个名字, 但有不同的参数。类类void show(int int_num)void show(double double_num)void show(int int_num, float float_num)1231.23123,1.232、Java中的类、方法和变量中的类、方法和变量n类的严格定义及修饰字类的修饰字: public abstract | final 缺省方式为缺省方式为 friendly类的修饰字类的修饰字 class 类名称类名称 extends 父类名称父类名称implements 接口名称列表接口名称列表 变量定义及初始化;变量定义及初始化;方法定义及方法
7、体;方法定义及方法体;类体,其中定义了该类中所有类体,其中定义了该类中所有 的变量和该类所支持的方法,的变量和该类所支持的方法, 称为成员变量和成员方法。称为成员变量和成员方法。变量修饰字变量修饰字 变量数据类型 变量名变量数据类型 变量名1,变量名变量名2=变量初值变量初值;成员变量的定义及修饰字2、Java中的类、方法和变量中的类、方法和变量public | protected | private static final transient volatile成员变量的类型可以是Java中任意的数据类型,包 括简单类型,类,接口,数组。在一个类中的成员 变量应该是唯一的。4方法修饰字方法修饰字 返回类型 方法名称返回类型 方法名称(参数参数1,参数参数2,) throws exceptionList (statements;) /方法体:方法的内容方法体:方法的内容 方法和变量的定义及修饰字2、Java中的类、方法和变量中的类、方法和变量public | protected | private static final | abstract native synchronized返
8、回类型可以是任意的Java数据类型,当一个方法不需要 返回值时,返回类型为void。 参数的类型可以是简单数据类型,也可以是引用数据类型 (数组、类或接口),参数传递方式是值传递。 方法体是对方法的实现。它包括局部变量的声明以及所有 合法的Java指令。局部变量的作用域只在该方法内部。 一个简单的类一个简单的类class Car int car_number; void set_number(int car_num) car_number=car_num; void show_number() System.out.println (“My car No. is : ”+car_number); class CarDemo public static void main(String args) Car Democar=new Car(); DemoCar.set_number(3838); DemoCar.show_number(); My car No. is : 38382、Java中的类、方法和变量中的类、方法和变量对象(1)对象的生成 通过new操作符生成一个对象;例如: C
9、ar demoCar; demoCar = new Car(); (2)对象的构造过程 为对象开辟空间,并对对象的成员变量进行 缺省的初始化; 对成员变量进行指定的初始化; 调用构造方法。2、Java中的类、方法和变量中的类、方法和变量对象(3)对象的使用 对象的使用是通过一个引用类型的变量来实现, 包括引用对象的成员变量和方法,通过运算符 可 以实现对变量的访问和方法的调用。例如:BirthDate date; int day; day = date.day;/引用date的成员变量day date.tomorrow();/调用date的方法tomorrow()2、Java中的类、方法和变量中的类、方法和变量类的继承2、Java中的类、方法和变量中的类、方法和变量class Car int car_number; void set_number(int car_num) car_number=car_num; void show_number() System.out.println (“My car No. is :”+car_number); class TrashCar extends Car int capacity; void set_capacity(int trash_car_capacity) capacity=trash_car_capacity; void show_capacity() System.out.println(“My capacity is: ” + capacity); 2、Java中的类、方法和变量中的类、方法和变量52、Java中的类、方法和变量中的类、方法和变量Car是父类,是父类,TrashCar是子类。
《与面向对象技术》由会员a****分享,可在线阅读,更多相关《与面向对象技术》请在金锄头文库上搜索。