java面向对象教程.ppt

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

public class Rectangle{ private double x,y,width,height; public void setX(double x){ this.x=x; } public double getX(){ return x; } ….
}
对象的组合 public class Circle{ private double x,y,radius; public void setX(double x){ this.x=x; } public double getX(){ return x; } … }
}
生活中的继承
• 生活中,继承的例子随处可见
动物
谁是父类? 谁是子类? 能说出继承的特点吗?
食草动物
食肉动物
继承需要符合的关系:is-a,父类更通用、子类更具体
生活中的继承
• 子类具有父类的一般特性(包括属性和行为), 以及自身特殊的特性
巴士是汽车吗? 卡车是汽车吗? 出租车是汽车吗?
汽车
引擎数量 外观颜色
class B { void g() { Tom a = new Tom(); a.weight=23f; //合法 a.f(3,4); //合法 }
}
假设对象a是类A创建的,对象对成员的访问权限总结如下:
对象a的位置
在类A中,a访问成员
在与A同包的另外一个类中,a 访问成员 在与A不同包的另外一个类中, a访问成员
类中 System.out.println("wang的薪水:"+wang.getSalary());
} }
用某个类在另外的一个类中创建对象后,如果不希望该 对象直接访问自己的变量(即通过“.”运算符来操作自己 的成员变量),就应将该变量访问权限设置为private。
面向对象编程提倡对象应当调用方法来改变自己的属 性,我们应当提供操作数据的方法,这些方法可以经过 精心设计,使得对数据的操作更加合理。
的wenku.baidu.com员变量和受保护的方法,如: class A {
protected float weight; //weight被修饰为public变量。 protected float f(float a,float b) { //f是public方法。
… } }
假如B与A是同一个包中的类,那么,B类中的a.weight、a.f(3,4)都 是合法的。
第四章 面向对象-2
课程安排
访问权限 继承 上转型 多态
访问权限
类有2种重要的成员:成员变量和方法。类创建的对 象可以通过“.”运算符访问分配给自己的变量,也可以通 过“.”运算符调用类中的实例方法和类方法。
类在定义声明成员变量和方法时,可以用关键字 private、protected和public来说明成员变量和方法的 访问权限,使得对象访问自己的变量和使用方法受到一 定的限制。 1.私有变量和私有方法
Private 成员 √ ×
×
默认的 成员 √ √
×
protected 成员 √ √
×
public 成员 √ √

对象的组合
• 一个类可以把对象作为自己的成员变量,如果用这样的类 创建对象,那么该对象中就会有其它对象,也就是说该对 象将其他对象作为自己的组成部分,或者说该对象是由几 个对象组合而成 。
}
public class Example { public static void main(String args[ ]){ Employee zhang=new Employee(); Employee wang=new Employee(); zhang.setSalary(100); System.out.println("zhang的薪水:"+zhang.getSalary()); wang.setSalary(3888); //wang.salary=88888;是非法的,因为对象wang已经不在Employee
public class Geometry{ private Rectangle rect; private Circle circle; Geometry(Rectangle rect,Circle circle){ this.rect=rect; this.circle=circle; } public void setCirclePosition(double x,double y){ circle.setX(x); circle.setY(y); }
}
当我们在任何一个类中用类A 创建了一个对象后,该 对象能访问自己的public变量和类中的public方法。如: class B {
void g() {
A a = new A(); a.weight = 23f; //合法 a.f(3,4); //合法 }
}
访问权限
3.受保护的成员变量和方法 用protected修饰的成员变量和方法被称为受保护
用关键字private修饰的成员变量和方法被称为私有变 量和私有方法。
对于私有成员变量或方法,只有在本类中创建该类 的对象时,这个对象才能访问自己的私有成员变量和类 中的私有方法
访问权限
class Employee{ private double salary=1800;//私有属性,类外无法访问 public void setSalary(double salary){ if(salary>1800&&salary<=6000){ this.salary=salary; } }
访问权限
2.公有变量和公有方法 用public修饰的成员变量和方法被称为共有变量和
共有方法,如:
class A { public float weight; //weight被修饰为public的float型变 量。 public float f(float a,float b) { //方法 f是public方法。 }
刹车 加速
属性 行为
最大载客数量 报站
最大载重量 卸货
请问:出租车 包含哪些属性 和行为呢?
所属公司 最大载客数量
打发票
子类与父类
子类与父类 继承是一种由已有的类创建新类的机制。利用继承,
我们可以先创建一个共有属性的一般类,根据该一般类 再创建具有特殊属性的新类,新类继承一般类的状态和 行为,并根据需要增加它自己的新的状态和行为。由继 承而得到的类称为子类,被继承的类称为父类(超类)。
相关文档
最新文档