ПОИСК по САЙТУ

Главная Новости

Пример объектно-ориентированной программы на Python

Опубликовано: 29.09.2018

видео Пример объектно-ориентированной программы на Python

Основные принципы объектно-ориентированного программирования. Что такое ООП и зачем оно нужно?

В конце курса закрепим пройденный материал, написав еще одну небольшую объектно-ориентированную программу на Python.



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

Формулирование задачи.

Определение объектов, участвующих в ее решении.

Проектирование классов, на основе которых будут создаваться объекты. В случае необходимости установление между классами наследственных связей.


Python Essential. Урок 1. Введение в ООП Python

Определение ключевых для данной задачи свойств и методов объектов.

Создание классов, определение их полей и методов.

Создание объектов.

Решение задачи путем организации взаимодействия объектов.

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


Уроки Python для начинающих | #18 - Наследование, инкапсуляция, полиморфизм

Потребуется три класса – "учитель", "ученик", "данные". Учитель и ученик во многом похожи, оба – люди. Значит, их классы могут принадлежать одному надклассу "человек". Однако в контексте данной задачи у учителя и ученика вряд ли найдутся общие атрибуты.

Определим, что должны уметь объекты для решения задачи "увеличить знания":

Ученик должен уметь брать информацию и превращать ее в свои знания.

Учитель должен уметь учить группу учеников.

Данные могут представлять собой список знаний. Элементы будут извлекаться по индексу.

class Data: def __init__ ( self , *info ): self .info = list ( info ) def __getitem__ ( self , i ): return self .info [ i] class Teacher: def teach ( self , info , *pupil ): for i in pupil: i. take ( info ) class Pupil: def __init__ ( self ) : self .knowledge = [ ] def take ( self , info ): self .knowledge .append ( info )

Теперь посмотрим, как объекты этих классов могут взаимодействовать между собой:

>>> from test import * >>> lesson = Data ( 'class' , 'object' , 'inheritance' , 'polymorphism' , 'encapsulation' ) >>> marIvanna = Teacher ( ) >>> vasy = Pupil ( ) >>> pety = Pupil ( ) >>> marIvanna. teach ( lesson [ 2 ] , vasy , pety ) >>> marIvanna. teach ( lesson [ 0 ] , pety ) >>> vasy. knowledge ['inheritance'] >>> pety. knowledge ['inheritance', 'class']

Может ли в этой программе ученик учиться без учителя? Если да, пусть научится чему-нибудь сам.

Добавьте в класс Pupil метод, позволяющий ученику случайно "забывать" какую-нибудь часть своих знаний.

Курс с примерами решений практических работ: android-приложение , pdf-версия .


rss