Чтобы уменьшить путаницу:
Инкапсуляция используется для сокрытия информации или данных.
Инкапсуляция означает автономный. Все объекты в Java имеют набор данных и методов для работы с этими данными. Таким образом, пользователь любого объекта не должен беспокоиться о том, как работает объект. Так вы скроете информацию и прочие сложности.
Пример: любого объекта Java достаточно для представления примера.
Абстракция. Это означает, что нужно делать вещи общими, т. е. вместо того, чтобы создавать очень конкретный класс, когда вы создаете базовые классы или интерфейсы, а затем расширяете их, чтобы получить свой конкретный класс.
Пример: класс Animal {} класс Lion расширяет Animal{}
Итак, здесь для класса Lion у вас есть обобщенный класс, то есть Animal. Это представляет собой абстракцию
Примечание. Примеры, приведенные KepaniHaole, идеальны.
Пример абстракции:
public interface Animal{
public String getType();
}
class Lion implements Animal {
private String animalType = "WILD";
@Override
public String getType() {
return this.animalType;
}
}
class Cow implements Animal {
private String animalType = "Domestic";
@Override
public String getType() {
return this.animalType;
}
}
В этом примере классы Lion и Cow реализуют интерфейс Animal. Классы Lion и Cow override
используют метод getType интерфейса Animal.
Здесь Lion и Cow являются частными случаями, а Animal более обобщенным. Так что это дает вам абстракцию, потому что всякий раз, когда у вас есть Animal, у вас есть метод getType, чтобы узнать его тип, т. е. вы его обобщили.
Теперь, если вы заметили, я сделал animalType закрытым в классах Lion и Cow, чтобы никто за пределами класса не мог его изменить. Таким образом я скрываю нежелательную информацию от внешних объектов.
Все, что нужно внешним объектам, — это метод getType, чтобы узнать тип животного. Таким образом, я открываю внешним объектам только релевантную информацию.
person
me_digvijay
schedule
13.11.2013