第二十六讲:基础一开放封闭原则
生活随笔
收集整理的這篇文章主要介紹了
第二十六讲:基础一开放封闭原则
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
做出來的軟件具有很強的擴展性,擴展并不是修改以前的源代碼,而是在以前的代碼之外添加新的功能.
重點是對擴展開放,對修改關閉.
銀行業務員下有很多子類:負責存款的銀行業務員,負責取款的銀行業務員,負責轉賬的銀行業務員.
Client是進行模塊的調用,不算模塊的修改.除了客戶端MainClass之外,其他都是模塊:BankWorker、DrawingBankWorker、JiJinBankWorker、SavingBankWorker、zhuanzhangBankWorker
僅僅是通過添加子類就實現了功能的擴展.
特別是最重要的抽象模塊不能再修改,就是這里的BankWorker模塊沒有再修改.接口是一定不要修改的,否則它的所有的實現子類都要修改.如果接口中的方法被修改了,Client中的調用接口的方法都會受到影響.所以最重要是抽象模塊不能被修改.
?
/** 銀行業務員* */ public class BankWorker {//負責存款業務public void saving() {System.out.println("進行存款操作");}//負責取款業務public void drawing(){System.out.println("進行取款操作");}//負責轉賬業務public void zhuanzhang(){System.out.println("進行轉賬操作");}//負責基金的申購public void jijin(){System.out.println("進行基金申購操作");} } public class MainClass {public static void main(String[] args) {BankWorker bankWorker = new BankWorker();//存款 bankWorker.saving();//取款 bankWorker.drawing();//轉賬業務 bankWorker.zhuanzhang();//負責基金采購 bankWorker.jijin();} } package com.ibeifeng.ex2; /** 銀行業務員接口,是所有業務員的抽象父類* */ public interface BankWorker {public void operation(); } package com.ibeifeng.ex2; /** 負責取款業務的業務員* * */ public class DrawingBankWorker implements BankWorker{@Overridepublic void operation() {// TODO Auto-generated method stubSystem.out.println("進行取款操作");}} package com.ibeifeng.ex2;public class JiJinBankWorker implements BankWorker {@Overridepublic void operation() {// TODO Auto-generated method stubSystem.out.println("進行基金申購操作");}} package com.ibeifeng.ex2;public class MainClass {public static void main(String[] args) {BankWorker bankWorker = new SavingBankWorker();bankWorker.operation();BankWorker bankWorker2 = new DrawingBankWorker();bankWorker2.operation();BankWorker bankWorker3 = new zhuanzhangBankWorker();bankWorker3.operation();BankWorker bankWorker4 = new JiJinBankWorker();bankWorker4.operation();} } package com.ibeifeng.ex2; /** 負責存款的業務員* */ public class SavingBankWorker implements BankWorker {@Overridepublic void operation() {// TODO Auto-generated method stubSystem.out.println("進行存款操作");}} package com.ibeifeng.ex2; /** 負責轉賬業務的銀行業務員* */public class zhuanzhangBankWorker implements BankWorker{@Overridepublic void operation() {// TODO Auto-generated method stubSystem.out.println("進行轉賬操作");}}?
轉載于:https://www.cnblogs.com/ZHONGZHENHUA/p/6760891.html
總結
以上是生活随笔為你收集整理的第二十六讲:基础一开放封闭原则的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 字符串和容器总结
- 下一篇: NAT STURN,ICE