2010-10-11 3 views
2

Имеет ли инкапсуляция is информация Скрытие или ведет к информации скрывается ??инкапсуляция и абстракция ООП концепция

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

И в чем разница между скрытием информации и абстракцией?

+0

, пожалуйста, попытайтесь найти существование сомнений, по крайней мере, на SO. – ivorykoder

+2

Возможный дубликат [Абстракция VS Information Hiding VS Encapsulation] (http: // stackoverflow.com/questions/24626/abstraction-vs-information-hiding-vs-encapsulation) –

ответ

3

Возможный дубликат this

public class Guest { 
    private String name; 

    public String getName() { 
    return name; 
    } 

    public void setName(String name) { 
    this.name = name; 
    } 
} 

Смотрите приведенный выше код, мы инкапсулированные имя String, мы обеспечиваем доступ к нему через публичные методы.

Скажем, мы создали объект Гость, который называется guest. Тогда следующее будет незаконным.

System.out.println("Guests name : "guest.name); 

Доступ к общедоступным методам - ​​это то, что можно сделать.

guest.getName(); 

Преимущество Encapsulation:

  1. Поле класса может быть сделано только для чтения или только для записи.

  2. Класс может иметь полный контроль над , что хранится в его полях.

  3. Пользователи класса не знают, как класс хранит свои данные. Класс может изменить тип данных поля, и пользователям класса не нужно , чтобы изменить какой-либо из их кода.

+0

Информация не так понятна ... поэтому я просто хочу получить более подробную информацию об этом – Mishthi

+0

Не так ясно? в каком контексте? – ivorykoder

+0

В контексте Информационного скрытия и абстракции ... А также, ведет ли инкапсуляция или сама по себе скрывается информация – Mishthi

2

Инкапсуляция означает сокрытие реализации

Абстракция означает предоставление плана о реализации

Скрытия данных означает управление доступом к DataMember или атрибутам

+0

Можете ли вы предоставить дополнительную информацию. Попытайтесь ответить на вопросы немного шире –

-1

Абстракции означает ищу важные характеристики объекта и игнорируя другие детали.

Например, если вы считаете автомобиль: абстрактное определение автомобиля - это транспортное средство с четырьмя колесами, рулевым колесом и двигателем. Подробная информация о том, как работает рулевое управление, или какой марки автомобиля, не имеет значения, что делает объект автомобилем.

Подробное описание доступно на abstraction meaning in Object Oriented Programming concepts.

+0

Вы не ответили на вопрос об инкапсуляции вопроса. – ragingasiancoder

1

Информация является более общим термином, следовательно, я считаю, что инкапсуляция - это информация, скрывающая, не подходит. Я бы сказал, что инкапсуляция Скрытие данных.

Инкапсуляция означает ...

  • Объединение State & поведение объекта (который работает на этом государстве), в одном устройстве. Это близко имитирует объект реального мира.

  • Скрытие государства & Обеспечения безопасности Объекта от случайных внешних изменений, обеспечивая четкий, контролируемый доступ (через поведение).

В Java, определение может быть подробно описаны, как ...

  • В Java Классов и перечислений являются моноблоками для реализации инкапсуляции. Состояние определяется с использованием переменных (примитивов, ссылок на объекты) и поведения с использованием методов.

  • данных Скрытие достигается с помощью частного спецификатор доступа по переменным (так, что никто не может получить доступ к ним снаружи).

  • Контролируемый доступ достигается путем предоставления методов Getters/Setters и/или бизнес-логики. Как сеттеры, так и другие методы, влияющие на состояние, должны иметь проверки на граничные условия для правильного соответствия государства.

1

Инкапсуляция говорит о скрытие данных в чем-то и дать ему имя (личные данные пользователей в классе - автомобиль) и связывание методов поведения с ней, которые будут мутировать или предоставлять доступ к этим переменным данных.

Абстракция обеспечивает перспективу клиента в абстрактных терминах. Как концепция или идея. Автомобиль - это конкретный объект, где, поскольку Управляемый, Отслеживаемый (который имеет позицию и может быть отслежен), может быть абстракцией для автомобиля для разных клиентов.

Вы можете проверить реальную жизнь examples of Abstraction и Encapsulation here.

0

Инкапсуляция - это метод, используемый для скрытия свойств & поведение объекта.

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

0

Инкапсуляция - полная работа и дверь надолго закрыты. Получите преимущества работы с помощью имени метода. Абстракция - начаты работы и закрыты двери. Откройте и измените работу, используя ключ Overriding.

+0

Не понимаю. – aliteralmind

+0

Не единственный –

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