Файл: Введение в объектноориентированное программирование.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.12.2023
Просмотров: 847
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
Уровень: Программирование для начинающих
Созданиеклассовиобъектов.Урок2
Уровень: Программирование для начинающих
Конструкторкласса—метод init .Урок3
Уровень: Программирование для начинающих
Уровень: Программирование для начинающих
Уровень: Программирование для начинающих
Уровень: Программирование для начинающих
Форматирование строк документирования
Пример документированного исходного кода
ПерегрузкаоператороввООП.Урок10
Уровень: Программирование для начинающих
Особенностиобъектно-ориентированногопрограммирования.Урок11
Уровень: Программирование для начинающих
Идеи (принципы) объектно-ориентированного программирования
10.t1=T1()11.t2=T2()
собственномусуперклассу):
классу-контейнеру,автоматическисоздаютсяобъекты-части,изкоторыхонкакбысостоит. Свойства и методы объектов частей определяются в их классах. Программисты могут создавать целые коллекции встраиваемыхклассов.РассмотримиспользованиекомпозицииприпрограммированиинаPythonспомощьюконкретногопримера.
-
t1.total(45) -
t2.total(45) -
print (t1.total) #Вывод:55 -
print (t2.total) #Вывод:2
-
class One: -
definit(self,a): -
self.a = a ** 2 4.
-
class Two: -
definit(self,a): -
self.a = a * 2 8.
-
a = input ("введите число ") -
a = int(a)
-
obj = One(a) -
else: -
obj = Two(a) 15.
Переопределение методов
Использование полиморфизма при наследовании классов позволяет переопределять методы суперклассов их подклассами. Например, можетвозникнуть ситуация, когда все подклассы реализуют определенный метод из суперкласса, и лишь один подкласс должен иметь его другуюреализацию.Втаком случаеметод переопределяется вподклассе. Пример:-
class Base: -
definit(self,n): -
self.numb = n -
def out(self): -
print (self.numb) 6.
-
class One(Base): -
def multi(self,m): -
self.numb *= m 10.
-
class Two(Base): -
def inlist(self): -
self.inlist = list(str(self.numb)) -
def out(self):
-
while i < len(self.inlist): -
print (self.inlist[i])
-
obj1 = One(45) -
obj2 = Two('abc') 22.
-
obj1.multi(2) -
obj1.out() #Выводчисла90 -
-
obj2.inlist() -
obj2.out() #Выводвстолбикбуквa,b,c
собственномусуперклассу):
-
class Base: -
definit(self,N): -
self.numb = N -
def out(self): -
self.numb /= 2 -
print (self.numb) 7.
-
class Subclass(Base): -
def out(self): -
print ("\n ") -
Base.out(self) -
print (" \n") -
-
obj = Subclass(i) -
else: -
obj = Base(i) 20. i += 1
Вывод
Полиморфизм в объектно-ориентированном программировании дает возможность реализовывать так называемые единые интерфейсы дляобъектов различных классов. Имеется ввиду, что если есть методы с одинаковыми названиями (или операции, обозначаемая одинаковымизнаками, как будет показано в уроке №7) для всех объектов, то это позволяет писать более очевидный исходный код. Например, разныеклассы могут предусматривать различный способ вывода той или иной информации объектов. Однако единое название для всех объектовметода«вывода»позволит незапутать программу, сделатьееболееочевидной.Переопределение методов в подклассах (а также их расширение) позволяет специализировать ранее написанный исходный код, не меняя еговсуперклассах, гдеобычнотребуется оставить код внеизменномвидедлядругихподклассов.Практическая работа
Напишитенебольшуюобъектно-ориентированнуюпрограммку,демонстрирующуютакиесвойстваООПкакнаследованиеиполиморфизм.Композиционныйподходвобъектно-ориентированномпрограммировании.Урок7Методическая разработка урока
Элективный курс: Введение в объектно-ориентированноепрограммированиенаPythonУровень: Программирование для начинающих
Ещеоднойособенностьюобъектно-ориентированногопрограммированияявляетсявозможностьреализовыватьтакназываемыйкомпозиционныйподход.Заключаетсяонвследующем:естькласс-контейнер,которыйвключаетвсебявызовыдругихклассов.Врезультатеполучается,чтосоздаваяобъекткласса-контейнера,мыодновременносоздаемиобъектывключенных внегоклассов.Чтобы понять зачем нужна композиция в программировании, можно как всегда провести аналогию с реальным миром. Так подавляющеебольшинство природных, биологических и технических объектов состоят из других более простых частей, по своей сути, также являющихсяобъектами. Например, человек состоит из различный органов (сердце, кожа и др.), компьютер — из различного "железа" (процессор, ОЗУ,диск ит.д.).Следуетпонимать,что"композиция"и"наследование"-достаточноразныесвойствареальныхивиртуальныхсистем.Наследованиепредполагаетпринадлежностьк какой-тообщности(похожесть), акомпозиция— формированиецелогоизчастей.Ещераз:присозданииобъекта,принадлежащегоклассу-контейнеру,автоматическисоздаютсяобъекты-части,изкоторыхонкакбысостоит. Свойства и методы объектов частей определяются в их классах. Программисты могут создавать целые коллекции встраиваемыхклассов.РассмотримиспользованиекомпозицииприпрограммированиинаPythonспомощьюконкретногопримера.