作家
登录

怎样在java中定义一个抽象属性

作者: 来源: 2017-08-17 17:02:40 阅读 我要评论

  •         writeTransaction(result); 
  •     } 
  •  
  • 在抽象类中定义带参数的构造函数时,子类将会被强迫定义本身的构造函数并调用super()。 如许我们就能强迫separator属性依附于已应用的日记记录机制。

    留意,我们的引擎实现了所有日记机制共有的静态行动:startTransaction(), endTransaction(),同时将动态行动writeTransaction()交给子类去实现。

    如今,如不雅我们想要创建一个事务治理器,用它将日记内容记录到一个文件中,那么可以如许去定义:

    1. public class TransactionManagerFS extends TransactionManager{ 
    2.   
    3.     // The IDE forces you to implement constructor. 
    4.     public TransactionManagerFS(String separator) { 
    5.         super(separator); 
    6.     } 
    7.         
    8.     @Override 
    9.     public void writeTransaction(String result) { 
    10.         System.out.println("The following transaction has just finished: " ); 
    11.         System.out.println(result); 
    12.     } 
    13.  

    接下来做一个测试,看看代码是如何工作的

    1. public static void main(String[] args) throws InterruptedException { 
    2.         // we pass the separator explicitly in the constructor 
    3.         TransactionManager transactionManager = new TransactionManagerFS(","); 
    4.         Transaction transaction = transactionManager.startTransaction(); 
    5.         transaction.setData("This is a test transaction !!"); 
    6.         Thread.sleep(1500); 
    7.         transactionManager.endTransaction(transaction); 
    8.     }  

    输出:

    经由过程getter办法传递分隔符

    别的一种实现动态属性的办法是:经由过程定义一个抽象的getter办法,该办法根据当前的日记记录机制来检索所需的分隔符。在我们的引擎中,当须要要应用分隔符时,可以经由过程调用这个getter办法获得。

    接下来我们将引擎修改成如许:

    1. public abstract class TransactionManager { 
    2.   
    3.     public abstract String getSeperator(); 
    4.     public abstract void writeTransaction(String result); 
    5.      
    6.     public Transaction startTransaction() 
    7.     { 
    8.         

        推荐阅读

        深入解析Node.js中5种发起HTTP请求的方法

      【51CTO晃荡】8.26 带你深度懂得清华大年夜学、搜狗基于算法的IT运维实践与摸索 创建HTTP请求使现代编程说话的核心功能之一,也是很多法度榜样员在接触到新的开辟情况时最>>>详细阅读


      本文标题:怎样在java中定义一个抽象属性

      地址:http://www.17bianji.com/lsqh/36784.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)