抽象是一个隐藏实现细节并只向用户显示功能的过程。
另一种方式是,它只向用户显示重要的内容,并隐藏内部细节。下面是一个创建抽象类并重写抽象方法的示例。但我不明白的是它是如何隐藏实现细节的?
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()+" %");
}
}
1条答案
按热度按时间w8biq8rn1#
代码中的抽象是抽象类本身:
剩下的是实现(和实现细节),具体来说是:类
PNB
以及SBI
但我不明白的是它是如何隐藏实现细节的?假设您有一个银行比较引擎,它由
BankComparisonEngine
班级。只需要一点时间Bank
(抽象类)作为参数,然后获取其利率并将其保存到其内部数据库,如下所示:具体实施细节如何隐藏?好,
BankComparisonEngine
不知道怎么做getRateOfInterest()
具体实现方法Bank
工程(即:PNB.getRateOfInterest()
或者SBI.getRateOfInterest()
已实现)。它只知道它是一个返回int
(并且它应该返回一个利率)。实现细节隐藏在扩展的具体类中abstract class Bank
.