5.OOP面向对象.doc
文本预览下载声明
OOP 面向对象
面向对象的特征
— 多态
·编程的过程就是抽象的过程
— 封装
·指能够把一个实体的信息、功能、响应都装入一个单独的对象中的特性
·封装允许类的客户不必关心类的工作机理就可以使用它
例子:驾驶员不必了解发动机的原理就可以驾驶汽车。类的客户在使用给一个类时,也不比了解她是如何工作的,只需要了解他的功能能即可
·所有对数据的访问和操作都必须通过特定的方法,否则无法使用,从而达到数据
隐藏的目的
— 继承
·继承的方法允许在不改动原程序得基础上对其进行扩充,这样使得员工能得以保存,而新功能也得以扩展。这有利于减少重复代码,提高软件的开发效率
— 多态
· 多态性描述的是同一个消息可以根据发消息对象的不同采用多种不同的行为方式(一个方法有不同的实现)
封装(把不允许别人操作的东西封装成似有的,不能从外部直接访问)
私有的属性,公共的方法
(方法也有私有的,就是外部用没有意义,就是内部的一个运算)
public class OOPTest01{
public static void mian(String[] args){
Person per = new Person();
per.setAge(-20);
System.out.println(per.setAge());
}}
class Person{
private int age; // 通过private封装,使这个属性变成私有的,私有的属性其他类无法访问,只能用set,get方法,其他类才能调用该方法访问
public void setAge(int a){
if(a0||150){ // 限定赋值的条件
System.out.println(“非法的年龄”);
return;}// 调用我的时候直接返回到被调用的地方”setAge”
age = a;
}
public int getAge(){
reture arg; } }
继承
public class OOPTest02{
public static void main(String[] args){
Dog dog = new Dog();
System.out.println(dog.age);
// System.out.println(dog.paly());
dog.play();
}}
class Animal{
protected int age = 2;
public void paly(){ // 无返回值(void)无法输出,可以直接调用方法
System.out.println(“我玩的很高兴”);
}}
class Dog extends Animal{} //继承 子类自动拥有父类所有(私有的和默认的就不行)的属性和方法
多态
public class OOPTest02{
public static void main(String[] args){
Pet snake = new Snake();
snake.play();
Pet cat = new Cat(); // 向上类型转换(猫(cat)也是宠物(pet))
cat.paly();
}}
interface Pet{ // 接口跟类一样,接口是一个比抽象类还抽象的类
public void play(){ } } // 同一个方法play,但是Snake和cat实现的效果不一样(多态)
class Snake implements{
public void play{
System.out.pritnln(“Snake is playing………”);
} }
class Cat implements{
public void paly{
System.out.println(“Cat is playing………”);} }
人骑车
public class OOPTest04{
public staitc void main(String[] args){
Person tom = new Person();
Bicycle jat = new Bicycle();
jat.setName(“捷安特”);
tom.qi(jat);
}}
class Person{
private String name;
public void setName(Strin n){
name = n;
}
public String getName(){
return nam
显示全部