抽象如何帮助隐藏 Java 中的实现细节?

2023-11-22

抽象是隐藏实现细节并仅向用户显示功能的过程。

另一种方式是,它只向用户显示重要的内容并隐藏内部细节。 下面是一个创建抽象类并重写抽象方法的示例。但我不明白的是它是如何隐藏实现细节的?

abstract class Bank
{    
   abstract int getRateOfInterest();    
} 

class SBI extends Bank
{    
 int getRateOfInterest()
  {
   return 7;
   }    
  }

class PNB extends Bank  
{    
 int getRateOfInterest()
   { 
    return 8;
   }    
 }    

class TestBank{    
public static void main(String args[])
{    
 Bank b;   
 b=new SBI();  
 System.out.println("Rate of Interest is: "+b.getRateOfInterest()+" %");    
 b=new PNB();  
 System.out.println("Rate of Interest is: "+b.getRateOfInterest()+" %");    
 }
 }     

The 抽象在你的代码中是抽象类本身:

abstract class Bank {    
   abstract int getRateOfInterest();    
} 

剩下的就是执行(以及实现细节),特别是:类PNB and SBI

但我不明白的是它是如何隐藏实现细节的?

假设您有一个银行比较引擎,由BankComparisonEngine班级。只需要一个Bank (abstractclass) 作为参数,然后获取其利率并将其保存到其内部数据库,如下所示:

class BankComparisonEngine {
  public void saveInterestRateOf(Bank bank) {
    int rate = bank.getRateOfInterest();
    // Save it somwehere to reuse later 
  }
}

实施细节究竟是如何隐藏的?出色地,BankComparisonEngine不知道怎么办getRateOfInterest()具体实现方法Bank作品(即:PNB.getRateOfInterest() or SBI.getRateOfInterest()已实施)。它只知道这是一个返回值的方法int(并且它应该返回利率)。这实施细节隐藏在扩展的具体类中abstract class Bank.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

抽象如何帮助隐藏 Java 中的实现细节? 的相关文章

随机推荐