【Java笔记】面向对象编程-抽象类与接口 - 抽象类、模板设计模式、接口、工厂设计模式、代理设计模式 - 总结四

面向对象编程-抽象类与接口

【Java笔记】面向对象编程-抽象类与接口 - 抽象类、模板设计模式、接口、工厂设计模式、代理设计模式 - 总结四

1. 抽象类的定义与使用  范例1:

abstract class Person{
    private String name ; // 属性
    public String getName(){ // 普通方法
        return this.name;
    }
    public void setName(String name){
        this.name = name ;
    }
    // {}为方法体,所有抽象方法上不包含方法体
    public abstract void getPersonInfo() ; //抽象方法
}

class Student extends Person{
    public void getPersonInfo(){
        System.out.println("I am a student");
    }
}

public class Test{
    public static void main(String[] args) {
        Person per = new Student() ; //实例化子类,向上转型
        per.getPersonInfo() ; //被子类所覆写的方法
    }
}

2.对象的实例化步骤  范例2:

abstract class A{
    public A(){ //3.调用父类构造
       this.print() ; //4.调用被子类覆写的方法
    }
    public abstract void print() ;
}
class B extends A{
    private int num = 100 ;
    public B(int num) { //2.调用子类实例化对象
       super() ; //3.隐含一行语句,实际要先调用父类构造
       this.num = num ; //7.为类中属性初始化
    }
    public void print() { //5.此时子类对象的属性还没有被初始化
       System.out.println(this.num) ; //6.对应其数据类型的默认值
    }
}
public class Test1{
    public static void main(String[] args) {
       new B(30) ; //1.实例化子类对象
    }
}

3.接口定义  范例3:

interface IMessage{
    public static final String MSG = "I am a biter" ; // 全局常量
    public abstract void print() ; // 抽象方法
}

4.模板设计模式  链接1:

https://blog.csdn.net/qq_43109561/article/details/88616182

5.工厂设计模式  链接2 :

https://blog.csdn.net/qq_43109561/article/details/88616444

6.代理设计模式  链接3:

https://blog.csdn.net/qq_43109561/article/details/88616829