第二十六讲:基础一开放封闭原则
生活随笔
收集整理的這篇文章主要介紹了
第二十六讲:基础一开放封闭原则
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
做出來的軟件具有很強的擴展性,擴展并不是修改以前的源代碼,而是在以前的代碼之外添加新的功能.
重點是對擴展開放,對修改關閉.
銀行業(yè)務員下有很多子類:負責存款的銀行業(yè)務員,負責取款的銀行業(yè)務員,負責轉賬的銀行業(yè)務員.
Client是進行模塊的調用,不算模塊的修改.除了客戶端MainClass之外,其他都是模塊:BankWorker、DrawingBankWorker、JiJinBankWorker、SavingBankWorker、zhuanzhangBankWorker
僅僅是通過添加子類就實現(xiàn)了功能的擴展.
特別是最重要的抽象模塊不能再修改,就是這里的BankWorker模塊沒有再修改.接口是一定不要修改的,否則它的所有的實現(xiàn)子類都要修改.如果接口中的方法被修改了,Client中的調用接口的方法都會受到影響.所以最重要是抽象模塊不能被修改.
?
/** 銀行業(yè)務員* */ public class BankWorker {//負責存款業(yè)務public void saving() {System.out.println("進行存款操作");}//負責取款業(yè)務public void drawing(){System.out.println("進行取款操作");}//負責轉賬業(yè)務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();//轉賬業(yè)務 bankWorker.zhuanzhang();//負責基金采購 bankWorker.jijin();} } package com.ibeifeng.ex2; /** 銀行業(yè)務員接口,是所有業(yè)務員的抽象父類* */ public interface BankWorker {public void operation(); } package com.ibeifeng.ex2; /** 負責取款業(yè)務的業(yè)務員* * */ 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; /** 負責存款的業(yè)務員* */ public class SavingBankWorker implements BankWorker {@Overridepublic void operation() {// TODO Auto-generated method stubSystem.out.println("進行存款操作");}} package com.ibeifeng.ex2; /** 負責轉賬業(yè)務的銀行業(yè)務員* */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