2017-01-18 8 views
0
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()+" %");  
    } 
}  

Так что я прочитал в книгах и в Интернете: «Абстракция - это процесс скрытия деталей реализации и отображения только функций для пользователя».Что на самом деле означает абстракция в java?

Итак, мой вопрос: если я напишу реализацию в классе Bank, не будет ли он скрыт ?, может ли пользователь увидеть эту реализацию?

Каково фактическое значение «скрытия» здесь?

+0

Вы должны научиться отступывать свой код, это значительно облегчает чтение и чтение. –

+0

i apologize, andy –

+0

Основываясь на вашем простом примере, да, если какой-либо другой части вашей программы передан какой-то экземпляр «Банка», все равно, как «getRateOfInterest» фактически рассчитан, только тот «банк» предоставляет средства чтобы получить его. Например, для «SBI» могут быть добавлены дополнительные функции, но поскольку другие части вашей программы имеют дело только с «Банком», они не будут знать, поэтому функциональность скрыта от них. – MadProgrammer

ответ

-1

Не путайте абстракцию с обфускацией. Абстракция помогает разработчику сосредоточиться на интерфейсе, а не на реализации, но это не значит, что детали реализации не должны достижимы.

В вашем случае разработчик может сосредоточиться на классе Bank и не думать о дочерних классах SBI и PNB. Информация о реализации будет скрыта от пользователя, но не в том смысле, что пользователь не может найти их, если захочет.

+0

Это комментарий, а не ответ. Не злоупотребляйте системой, отправляя комментарии как ответы, прежде чем у вас появится требуемая репутация. Это будет привлекать downvotes и задержки достижения необходимой репутации. –

Смежные вопросы