Рубрики
Без рубрики

Что такое абстракция в УПС?

Абстракция-одна из основных концепций объектно-ориентированного программирования. Абстракция определяет модель для создания компонента приложения. Осуществление

Автор оригинала: Pankaj Kumar.

Абстракция-одна из основных концепций объектно-ориентированного программирования . Абстракция определяет модель для создания компонента приложения. Реализация абстракции зависит от особенностей и процессов, специфичных для языка.

1. Что такое Абстракция?

Абстракция – это процесс сокрытия внутренних деталей приложения от внешнего мира. Абстракция используется для описания вещей в простых терминах. Он используется для создания границы между приложением и клиентскими программами.

2. Абстракция в реальной жизни

Абстракция присутствует почти во всех реальных машинах.

  • Ваш автомобиль-отличный пример абстракции. Вы можете завести автомобиль, повернув ключ или нажав кнопку “Пуск”. Вам не нужно знать, как запускается двигатель, какие все компоненты есть в вашем автомобиле. Внутренняя реализация автомобиля и сложная логика полностью скрыты от пользователя.
  • Мы можем разогреть нашу еду в микроволновой печи. Мы нажимаем несколько кнопок, чтобы установить таймер и тип пищи. Наконец, мы получаем горячую и вкусную еду. Внутренние детали микроволновой печи скрыты от нас. Нам был предоставлен доступ к функциональности очень простым способом.

3. Абстракция в УПС

Объекты являются строительными блоками объектно-ориентированного программирования. Объект содержит некоторые свойства и методы. Мы можем скрыть их от внешнего мира с помощью модификаторов доступа. Мы можем предоставить доступ только к необходимым функциям и свойствам другим программам. Это общая процедура реализации абстракции в OOPS.

4. Каковы различные типы абстракции?

Существует два типа абстракции.

  1. Абстракция Данных
  2. Абстракция Процесса

4.1) Абстракция Данных

Когда данные объекта не видны внешнему миру, это создает абстракцию данных. При необходимости доступ к данным Объектов обеспечивается с помощью некоторых методов.

Абстракция Данных

4.2) Абстракция Процесса

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

Абстракция Процесса

5. Абстракция в Java

Абстракция в Java реализуется через интерфейсы и абстрактные классы . Они используются для создания базовой реализации или контракта для реальных классов реализации.

Car.java : Базовый интерфейс или абстрактный класс

package com.journaldev.oops.abstraction;

public interface Car {

	void turnOnCar();

	void turnOffCar();

	String getCarType();
}

ManualCar.java, AutomaticCar.java : классы реализации автомобилей.

package com.journaldev.oops.abstraction;

public class ManualCar implements Car {

	private String carType = "Manual";
	
	@Override
	public void turnOnCar() {
		System.out.println("turn on the manual car");
	}

	@Override
	public void turnOffCar() {
		System.out.println("turn off the manual car");
	}

	@Override
	public String getCarType() {
		return this.carType;
	}
}
package com.journaldev.oops.abstraction;

public class AutomaticCar implements Car {

	private String carType = "Automatic";

	@Override
	public void turnOnCar() {
		System.out.println("turn on the automatic car");
	}

	@Override
	public void turnOffCar() {
		System.out.println("turn off the automatic car");
	}

	@Override
	public String getCarType() {
		return this.carType;
	}
}

Пользовательская программа : Давайте рассмотрим тестовую программу, в которой будут использоваться функции автомобиля.

package com.journaldev.oops.abstraction;

public class CarTest {

	public static void main(String[] args) {
		Car car1 = new ManualCar();
		Car car2 = new AutomaticCar();

		car1.turnOnCar();
		car1.turnOffCar();
		System.out.println(car1.getCarType());

		car2.turnOnCar();
		car2.turnOffCar();
		System.out.println(car2.getCarType());

	}

}

Клиентская программа знает только об Автомобиле и функциях, которые предоставляет автомобиль. Детали внутренней реализации скрыты от клиентской программы.

Ссылки: Википедия , Oracle Docs