Python примеры программ ооп

В этой статье мы расскажем об объектно-ориентированном программировании (ООП) в Python и его фундаментальных концепциях.

Введение в ООП в Python

Python — это мультипарадигмальный язык. Это означает, что он поддерживает различные подходы к программированию.

Одной из наиболее популярных парадигм является создание объектов. Она известна как объектно-ориентированное программирование (ООП).

Объект имеет две характеристики:

Рассмотрим на примере:

Объект – это попугай:

  • имя, возраст, цвет являются атрибутами;
  • пение, танцы — это поведение;

Концепция ООП в Python направлена ​​на создание кода для многократного использования. Эта концепция также известна как DRY (Don’t Repeat Yourself).

В Python концепция ООП реализует несколько принципов:

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

Класс

ООП в Python

Объектно-ориентированное программирование (ООП) — это парадигма программирования, которая фокусируется на создании объектов и классов, содержащих данные и функции для взаимодействия с этими данными. В Python ООП является одной из наиболее важных особенностей языка и широко используется при создании приложений и систем.

Без классов и ООП твой Python код — буээээ. Ну… Или нет?

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

Классы и объекты

В ООП класс — это чертеж или модель объекта. Определяет атрибуты и методы, которые может иметь объект. Объект, с другой стороны, является экземпляром класса. Создается класс с ключевым словом class, за которым следует имя класса.

Читайте также:
Программа научного исследования общие требования выбор темы и проблемы

class Persona: def __init__(self, nombre, edad): self.nombre = nombre self.edad = edad def presentarse(self): print(f»Hola, mi nombre es y tengo años.»)

В приведенном выше примере мы создали класс Person с двумя атрибутами: name и age , а также метод Introduction, который печатает приветствие с именем и возрастом человека. Функция init — это конструктор класса, который вызывается при создании нового экземпляра класса. В данном случае он принимает два аргумента, name и age , и устанавливает соответствующие значения атрибутов.

Чтобы создать экземпляр класса Person, мы просто вызываем имя класса с необходимыми аргументами:

p = Persona(«Juan», 30) p.presentarse()

Результатом этого вызова будет:

Hola, mi nombre es Juan y tengo 30 años.

Наследование

Наследование — это метод в ООП, который позволяет классу наследовать атрибуты и методы родительского класса или суперкласса. В Python один класс наследуется от другого, используя следующий синтаксис:

ООП на простых примерах. Объектно-ориентированное программирование


class Empleado(Persona): def __init__(self, nombre, edad, salario): super().__init__(nombre, edad) self.salario = salario def presentarse(self): super().presentarse() print(f»Soy un empleado y mi salario es de .»)

В этом примере мы создаем класс Employee, который наследуется от класса Person и добавляет новый атрибут salario и модифицированный метод presentarse , который включает информацию о зарплате.

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

Полиморфизм

Полиморфизм — это способность объекта принимать различные формы. В ООП полиморфизм достигается путем переопределения методов из суперкласса в подкласс. В Python это можно легко сделать следующим образом:

class Vehiculo: def moverse(self): print(«El vehículo se está moviendo.») class Auto(Vehiculo): def moverse(self): print

В этом примере мы создаем два класса: Vehicle и Auto . В классе Vehicle есть метод move , который печатает сообщение. Класс Auto наследуется от класса Vehicle и переопределяет метод перемещения для печати другого сообщения.

Читайте также:
Как запустить программу через прокси сервер

Когда мы вызываем метод moverse для экземпляра класса Auto , вместо исходного метода класса Vehicle выполняется переопределенный метод класса Auto :

v = Vehiculo() v.moverse() # El vehículo se está moviendo. a = Auto() a.moverse() # El auto está en movimiento.

Инкапсуляция

Инкапсуляция — это процесс сокрытия деталей реализации объекта от других объектов. В Python это достигается с помощью соглашения об именах. Атрибуты и методы, начинающиеся с двух знаков подчеркивания «__», становятся закрытыми атрибутами и методами, что означает, что доступ к ним возможен только внутри класса.

class CuentaBancaria: def __init__(self, nombre, saldo): self.__nombre = nombre self.__saldo = saldo def depositar(self, cantidad): self.__saldo += cantidad def retirar(self, cantidad): if cantidad > self.__saldo: print(«No hay suficiente saldo en la cuenta.») else: self.__saldo -= cantidad def obtener_saldo(self): return self.__saldo

В этом примере мы создаем класс CuentaBancaria, который имеет два частных атрибута: __nombre и __saldo . У него также есть общедоступные методы depositar (пополнения), retirar (снятия) и obtener_saldo (получения остатка) на счете.

Любая попытка получить доступ к закрытым атрибутам извне класса приведет к ошибке:

c = CuentaBancaria(«Juan», 1000) print(c.__saldo) # Error!

Чтобы получить доступ к закрытым атрибутам, вам нужно использовать общедоступные методы, такие как obtener_saldo :

c = CuentaBancaria(«Juan», 1000) print(c.obtener_saldo()) # 1000

Выводы

ООП — это мощная и универсальная техника программирования, которая широко используется в Python и других языках программирования. В Python классы и объекты определяются с помощью ключевого слова class и могут наследоваться, переопределяться и инкапсулироваться для создания сложных и удобных в сопровождении приложений.

В этой статье мы рассмотрели ключевые концепции ООП в Python, включая классы, объекты, наследование, полиморфизм и инкапсуляцию. Мы также предоставили несколько практических примеров использования этих концепций при создании приложений Python.

Читайте также:
Программа не является подлинной

Источник: dev-gang.ru

Python. Урок 14. Классы и объекты

Follow us on Google Plus Follow us on rss

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru