oop(面向对象程序设计)具有三大特性:封装、继承、多态

一、封装

  封装就是讲类的信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类的实现隐藏信息的操作和访问。

  实现封装

    1、需要修改属性的访问控制符(private)

    2、创建getter/setter方法(用于属性读写)

    3、在getter/setter方法中加入属性控制语句(用于判断属性值的合法性)

public class Student{ 
    private  String name; 
    public void setName(String name){ 
        this.name=name; 
    } 
    public String getName(){ 
        return name;     
    } 
    

二、继承

  继承是类与类的一种关系,比如说,狗属于动物。可以看成狗类继承了动物类,那么狗类就是动物类的子类(派生类),动物类就是狗类的父类(基类)。在Java中一个子类只能有一个父类。

//父类:动物类 
public class Animal{ 
    public int age; 
    public String name; 
    public void eat(){ 
        System.out.println("动物具有吃东西的本领!"); 
    } 
} 
//子类:狗类 
public class Dog extends Animal { 
     
}

三、 多态

多态指的是对象的多种形态。多态有两种:引用多态和方法多态。继承是多态的实现基础。

1.引用多态

父类的引用可以指向本类的对象;父类的引用可以指向子类的对象。

//父类:动物类 
public class Animal{ 
    public int age; 
    public String name; 
    public void eat(){ 
        System.out.println("动物具有吃东西的本领!"); 
    } 
} 
//子类:狗类 
public class Dog extends Animal { 
     
} 
//测试类 
public class Test{ 
    public static void main(String[] args) { 
    //父类的引用可以指向本类的对象 
    Animal ani1 = new Animal(); 
    //父类的引用可以指向子类的对象 
    Animal ani2 = new Dog();     
    }  
}

2. 方法多态

创建父类对象时,调用的方法为父类方法;

创建子类对象时,调用的方法是子类重写的方法或继承自父类的方法;

不允许通过父类的引用调用子类独有的方法。 

//父类:动物类 
public class Animal{ 
    public int age; 
    public String name; 
    public void eat(){ 
        System.out.println("动物具有吃东西的本领!"); 
    } 
} 
//子类:狗类 
public class Dog extends Animal { 
    public void eat(){ 
        System.out.println("狗是吃肉的。"); 
    } 
} 
//测试类 
public class Test{ 
    public static void main(String[] args) { 
    //父类的引用可以指向本类的对象 
    Animal ani1 = new Animal(); 
    //父类的引用可以指向子类的对象 
    Animal ani2 = new Dog(); 
    //输出动物具有吃的本领 
    ani1.eat();     
    //输出狗是吃肉的 
    ani2.eat(); 
    }  
}

 

评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

idea中ssm自动配置