Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| theory:oop [2020/05/24 16:18] – labuser29 | theory:oop [2024/11/30 12:21] (текущий) – labuser30 | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | ===== Объектно- ориентированное программирование ===== | + | ===== Объектно-ориентированное программирование ===== |
| Объектно-ориентированное программирование (сокращенно ООП) — это парадигма разработки программных систем, | Объектно-ориентированное программирование (сокращенно ООП) — это парадигма разработки программных систем, | ||
| Строка 32: | Строка 32: | ||
| Попробуем разобраться на примере | Попробуем разобраться на примере | ||
| - | <code python[enable_line_numbers=" | + | <code python> |
| class Car: | class Car: | ||
| def __init__(self, | def __init__(self, | ||
| Строка 60: | Строка 60: | ||
| Методы класса Car | Методы класса Car | ||
| * '' | * '' | ||
| - | * get_odo(self) — получить текущий пробег | + | * '' |
| - | * get_fuel(self) — получить текущее количество топлива в баке | + | * '' |
| Сразу возникает вопрос, | Сразу возникает вопрос, | ||
| - | Также непонятно что такое self в параметрах всех функций и при обращении к свойствам. self — это ссылка объекта на самого себя, на текущий экземпляр класса. Ведь класс это всего- лишь шаблон. И объектов, | + | Также непонятно что такое self в параметрах всех функций и при обращении к свойствам. self — это ссылка объекта на самого себя, на текущий экземпляр класса. Ведь класс это всего лишь шаблон. И объектов, |
| + | |||
| + | Как видно мы описали абстрактно автомобиль. У любого автомобиля есть цвет, есть одометр, | ||
| + | |||
| + | <code python> | ||
| + | MyCar = Car(' | ||
| + | BrotherCar = Car(' | ||
| + | </ | ||
| + | |||
| + | Мы создали два объекта автомобиля '' | ||
| + | |||
| + | <code python> | ||
| + | print(MyCar.get_odo()) | ||
| + | print(MyCar.get_fuel()) | ||
| + | </ | ||
| + | |||
| + | Результат: | ||
| + | < | ||
| + | 0 | ||
| + | 50 | ||
| + | </ | ||
| + | |||
| + | Мой автомобиль еще ничего не проехал и топлива не потратил нисколько. Теперь проедем 20 километров и еще 10. | ||
| + | <code python> | ||
| + | MyCar.go(20) | ||
| + | MyCar.go(10) | ||
| + | </ | ||
| + | |||
| + | И повторим запросы пробега и уровня топлива | ||
| + | <code python> | ||
| + | print(MyCar.get_odo()) | ||
| + | print(MyCar.get_fuel()) | ||
| + | </ | ||
| + | |||
| + | Результат: | ||
| + | < | ||
| + | 30 | ||
| + | 47.0 | ||
| + | </ | ||
| + | |||
| + | Действительно '' | ||
| + | |||
| + | <code python> | ||
| + | BrotherCar.go(15) | ||
| + | print(BrotherCar.get_odo()) | ||
| + | print(BrotherCar.get_fuel()) | ||
| + | </ | ||
| + | |||
| + | Результат: | ||
| + | < | ||
| + | 15 | ||
| + | 57.75 | ||
| + | </ | ||
| + | |||
| + | Мы рассмотрели основы объектно- ориентированного программирования. Поняли что такое класс и объект. Узнали как создать объект и как вызывать его методы. Но на самом деле объектно- ориентированное программирование на этом только начинается. | ||
| + | |||
| + | <WRAP center round info 60%> | ||
| + | [[https:// | ||
| + | </ | ||
| - | Как видно мы описали абстрактно автомобиль. У любого автомобиля есть цвет, есть одометр, | ||