Объектно-ориентированное программирование на Python: руководство для начинающих
ООП — это парадигма программирования, которая представляет объекты реального мира классами и объектами. В ООП все является объектом, а объекты связаны друг с другом посредством наследования и полиморфизма.
Классы
Класс — это схема для создания объектов. Он определяет свойства и поведение объекта. Например, класс с именем Dog
может определять свойства name
и breed
, а также поведение bark()
.
Объекты
Объект является экземпляром класса. Он имеет свойства и поведение, определенные в классе. Например, объект my_dog
является экземпляром класса Dog
. У него есть свойства name
и breed
, и он может лаять.
Наследование
Наследование — это способность одного класса наследовать свойства и поведение другого класса. Например, класс GoldenRetriever
может наследоваться от класса Dog
. Это означает, что объекты GoldenRetriever
будут иметь все свойства и поведение объектов Dog
, а также любые дополнительные свойства и поведения, определенные в классе GoldenRetriever
.
Полиморфизм
Полиморфизм — это способность объектов вести себя по-разному в зависимости от их типа. Например, метод bark()
может иметь разное поведение для объектов Dog
и объектов GoldenRetriever
.
Вот пример объектно-ориентированного программирования на Python:
Питон
class Dog: def __init__(self, name, breed): self.name = name self.breed = breed def bark(self): print("Woof!") class GoldenRetriever(Dog): def fetch(self, ball): print("Fetching the ball!") my_dog = Dog("Spot", "Golden Retriever") my_dog.bark() my_golden_retriever = GoldenRetriever("Buddy", "Golden Retriever") my_golden_retriever.bark() my_golden_retriever.fetch(ball)
সাবধানতার সাথে কোড ব্যবহার করুন। আরও জানুন
В этом примере мы определяем два класса: Dog
и GoldenRetriever
. Класс Dog
определяет свойства name
и breed
, а также поведение bark()
. Класс GoldenRetriever
наследуется от класса Dog
и добавляет поведение fetch()
.
Затем мы создаем два объекта: my_dog
и my_golden_retriever
. my_dog
— это экземпляр класса Dog
, а my_golden_retriever
— экземпляр класса GoldenRetriever
.
Мы видим, что метод bark()
имеет разное поведение для my_dog
и my_golden_retriever
. Это связано с тем, что my_dog
является экземпляром класса Dog
, а my_golden_retriever
— экземпляром класса GoldenRetriever
.