Java中的鈎子方法


鈎子方法是啥

鈎子顧名思義就是用來掛東西的。那么要掛東西必須有個被掛的東西,要不就是鐵環、要不就是牆的邊沿。所以要能掛住東西必須要有個被勾住的鐵環,要一個鈎子。那么在java中也是同樣的原理,你首先需要一個被掛在的東西,一個掛載的東西。

鈎子的實現方法

是對於抽象方法或者接口中定義的方法的一個空實現,在實際中的應用,比如說有一個接口,這個接口里有7個方法,而你只想用其中一個方法,那么這時,你可以寫一個抽象類實現這個接口,在這個抽象類里將你要用的那個方法設置為abstract,其它方法進行空實現,然后你再繼承這個抽象類,就不需要實現其它不用的方法,這就是鈎子方法的作用。

抽象父類


public abstract class AbstractClass {

	public abstract boolean isOpen();

	public final void operating() {
		if(isOpen()) {
			System.out.println("鈎子方法開啟");
		}else {
			System.out.println("鈎子方法關閉");
		}
	}
}

實現類

public class AchieveClass extends AbstractClass {

  //鈎子方法能掛在到operating能干預到operating業務邏輯
	@Override
	public boolean isOpen() {
		return true;
	}

	public static void main(String[] args) {
		AchieveClass ac = new AchieveClass();
		ac.operating();
	}

}

只要重寫isOpen就能干預父類方法的業務流程。相當於將isOpen掛載在了父類的operating()中。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM