Объектно-ориентированное программирование - это создание программ, использующих в качестве строительных блоков "вещи", которые существуют в реальном мире, эти вещи реального мира называются объектами, следовательно, объект ориентирован
Например, если вы создаете программу адресной книги, вы можете определить следующие объекты:
person, address, phone
Среди многих, многих других. Это будут объекты реальной жизни, и вы описываете свою программу в терминах этих абстракций.
Имея это в виду, вы можете начать описывать некоторые концепции.
Класс используется для определения характеристик, которые будут иметь объекты. Класс используется только как шаблон или проект. Например, для всех людей в вашей адресной книге вы можете сказать, что у них всех будет:
Person:
- name
- last name
- phone number
- address
Etc.
Адрес может иметь:
Address:
- street
- number
- city
- zip code
- country
И так далее. Как вы можете заметить, класс me можно определить в терминах других классов, например, в этом контексте у человека есть один адрес.
Объект - это конкретный экземпляр данного класса. Когда вы добавляете запись в адресную книгу, вы создаете объект и вводите атрибуты.
onePerson ofType Person is (
- name = "Oscar"
- last name = "Reyes"
- phone number = "56 58 11 11"
- address = anAddress ofType Address (
- street = "Tecolotes"
- number = 32
- city = "D.F."
- zip code = 23423
- country = "Mexico"
)
)
Итак, этот объект является классом, созданным с помощью данных. Другие записи в адресной книге - это другие объекты с другими данными.
Это показывает разницу между ними.
В ООП существуют и другие соответствующие концепции, которые стоит перечислить и которые взаимосвязаны с концепцией объекта и класса:
Абстракция Вам не нужно перечислять все атрибуты человека, чтобы использовать его. например, в этом случае вас не волнует, является ли этот человек одиноким или женатым, даже если в реальной жизни люди одиноки или женаты.
Инкапсуляция Атрибуты человека скрыты от других объектов и доступны с помощью методов, что предотвращает повреждение данных.
Полиморфизм Другой тип может по-разному реагировать на одно и то же сообщение или метод.
Наследование классы могут иметь подклассы, а также атрибуты и поведение, которые наследуют характеристики суперклассов.