🗊Презентация Парадигми програмування

Нажмите для полного просмотра!
Парадигми програмування, слайд №1Парадигми програмування, слайд №2Парадигми програмування, слайд №3Парадигми програмування, слайд №4Парадигми програмування, слайд №5Парадигми програмування, слайд №6Парадигми програмування, слайд №7Парадигми програмування, слайд №8Парадигми програмування, слайд №9Парадигми програмування, слайд №10Парадигми програмування, слайд №11Парадигми програмування, слайд №12Парадигми програмування, слайд №13Парадигми програмування, слайд №14Парадигми програмування, слайд №15Парадигми програмування, слайд №16Парадигми програмування, слайд №17Парадигми програмування, слайд №18Парадигми програмування, слайд №19Парадигми програмування, слайд №20

Вы можете ознакомиться и скачать презентацию на тему Парадигми програмування. Доклад-сообщение содержит 20 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Python
ООП
Описание слайда:
Python ООП

Слайд 2





План
Поняття ООП
Створення класів 
Створення екземплярів класів 
Інкапсуляція 
Конструктори і «магічні» методи в Python
Описание слайда:
План Поняття ООП Створення класів Створення екземплярів класів Інкапсуляція Конструктори і «магічні» методи в Python

Слайд 3





Парадигми програмування
Парадигма програмування - це сукупність ідей і понять, що визначають стиль написання комп'ютерних програм, підхід до програмування.
Python підтримує різні парадигми програмування
імперативне програмування
процедурне програмування
структурне програмування 
об'єктно - орієнтоване програмування 
функціональне програмування
Описание слайда:
Парадигми програмування Парадигма програмування - це сукупність ідей і понять, що визначають стиль написання комп'ютерних програм, підхід до програмування. Python підтримує різні парадигми програмування імперативне програмування процедурне програмування структурне програмування об'єктно - орієнтоване програмування функціональне програмування

Слайд 4





Об'єктно-орієнтоване програмування
Об'єктно-орієнтоване програмування (ООП) - парадигма програмування, в якій основними концепціями є поняття об'єктів і класів.
Клас є моделлю ще не існуючої сутності (об'єкта). Він є складовим типом даними, що включає в себе поля і методи. 
Об'єкт - це екземпляр класу.
Основні принципи ООП: 
Абстракція 
Інкапсуляція 
Поліморфізм 
Спадкування
Описание слайда:
Об'єктно-орієнтоване програмування Об'єктно-орієнтоване програмування (ООП) - парадигма програмування, в якій основними концепціями є поняття об'єктів і класів. Клас є моделлю ще не існуючої сутності (об'єкта). Він є складовим типом даними, що включає в себе поля і методи. Об'єкт - це екземпляр класу. Основні принципи ООП: Абстракція Інкапсуляція Поліморфізм Спадкування

Слайд 5





Інкапсуляція
Інкапсуляція - це властивість системи, що дозволяє об'єднати дані і методи, що працюють з ними, в класі, і приховати деталі реалізації.
Інкапсуляція забезпечується наступними засобами:
контроль доступу
методи доступу 
властивості об'єкта
Описание слайда:
Інкапсуляція Інкапсуляція - це властивість системи, що дозволяє об'єднати дані і методи, що працюють з ними, в класі, і приховати деталі реалізації. Інкапсуляція забезпечується наступними засобами: контроль доступу методи доступу властивості об'єкта

Слайд 6





ООП в Python
В Python все є об'єктами - екземплярами яких-небудь класів, навіть самі класи, які є об'єктами - екземплярами метакласів. Головним метакласом є клас type, який є абстракцією поняття типу даних.
Описание слайда:
ООП в Python В Python все є об'єктами - екземплярами яких-небудь класів, навіть самі класи, які є об'єктами - екземплярами метакласів. Головним метакласом є клас type, який є абстракцією поняття типу даних.

Слайд 7





Класи в Python
У термінології Python члени класу називаються атрибутами. Ці атрибути можуть бути як змінними, так і функціями. 
Класи створюються за допомогою ключового слова class. 
Класи як об'єкти підтримують два види операцій: звернення до атрибутів класів і створення (інстанціонування) об'єктів - екземплярів класу (instance objects). 
Звернення до атрибутів якого -або класу або об'єкта проводиться шляхом вказівки імені об'єкта і назви ознаки через крапку. 
Для створення екземплярів класу використовується синтаксис виклику функції.
Описание слайда:
Класи в Python У термінології Python члени класу називаються атрибутами. Ці атрибути можуть бути як змінними, так і функціями. Класи створюються за допомогою ключового слова class. Класи як об'єкти підтримують два види операцій: звернення до атрибутів класів і створення (інстанціонування) об'єктів - екземплярів класу (instance objects). Звернення до атрибутів якого -або класу або об'єкта проводиться шляхом вказівки імені об'єкта і назви ознаки через крапку. Для створення екземплярів класу використовується синтаксис виклику функції.

Слайд 8





Екземпляри класів в Python
Єдина доступна операція для об'єктів-екземплярів - це доступ до їх атрибутів. 
Атрибути об'єктів-екземплярів діляться на два типи: атрибути- дані і методи.
Атрибути-дані аналогічні полям у термінології більшості широко поширених мов програмування.
Атрибути-дані не потрібно описувати: як і змінні, вони створюються в момент першого присвоювання. Як правило, їх створюють в методі - конструкторі __init__. 
Метод - це функція, що належить об'єкту. Всі атрибути класу, які є функціями, описують відповідні методи його екземплярів, однак вони не є одним і тим же. 
Особливістю методів є те, що в якості першого аргументу вони обидві приймають даний екземпляр класу. Таким чином, якщо obj - екземпляр класу MyClass, виклик методу obj.method () відповідає виклику функції MyClass.method (obj).
Описание слайда:
Екземпляри класів в Python Єдина доступна операція для об'єктів-екземплярів - це доступ до їх атрибутів. Атрибути об'єктів-екземплярів діляться на два типи: атрибути- дані і методи. Атрибути-дані аналогічні полям у термінології більшості широко поширених мов програмування. Атрибути-дані не потрібно описувати: як і змінні, вони створюються в момент першого присвоювання. Як правило, їх створюють в методі - конструкторі __init__. Метод - це функція, що належить об'єкту. Всі атрибути класу, які є функціями, описують відповідні методи його екземплярів, однак вони не є одним і тим же. Особливістю методів є те, що в якості першого аргументу вони обидві приймають даний екземпляр класу. Таким чином, якщо obj - екземпляр класу MyClass, виклик методу obj.method () відповідає виклику функції MyClass.method (obj).

Слайд 9





Приклад 1
class MyClass:
    int_field = 8
    str_field = 'a string'

# Звертання до атрибутів класу
print(MyClass.int_field)
print(MyClass.str_field)

# Створення екземплярів класу
object1 = MyClass()
object2 = MyClass()

# Звертання до атрибутів класу через його екземпляри
print(object1.int_field)
print(object2.str_field)
Описание слайда:
Приклад 1 class MyClass: int_field = 8 str_field = 'a string' # Звертання до атрибутів класу print(MyClass.int_field) print(MyClass.str_field) # Створення екземплярів класу object1 = MyClass() object2 = MyClass() # Звертання до атрибутів класу через його екземпляри print(object1.int_field) print(object2.str_field)

Слайд 10





Різниця між атрибутами класу і атрибутами - даними
Атрибути класу є загальними для самого класу і всіх його екземплярів. Їх зміна відображається на всі відповідні об'єкти. Атрибути-дані належать конкретному екземпляру і їх зміна ніяк не впливає на відповідні атрибути інших екземплярів даного класу. Таким чином, атрибути класу, які не є функціями, приблизно відповідають статичним полям в інших мовах програмування, а атрибути-дані - звичайним полям.
Описание слайда:
Різниця між атрибутами класу і атрибутами - даними Атрибути класу є загальними для самого класу і всіх його екземплярів. Їх зміна відображається на всі відповідні об'єкти. Атрибути-дані належать конкретному екземпляру і їх зміна ніяк не впливає на відповідні атрибути інших екземплярів даного класу. Таким чином, атрибути класу, які не є функціями, приблизно відповідають статичним полям в інших мовах програмування, а атрибути-дані - звичайним полям.

Слайд 11





Приклад 2
class Person:
    pass

alex = Person()
alex.name = 'Alex'
alex.age = 18

john = Person()
john.name = 'John'
john.age = 20

print(alex.name, 'is', alex.age)
print(john.name, 'is', john.age)
Описание слайда:
Приклад 2 class Person: pass alex = Person() alex.name = 'Alex' alex.age = 18 john = Person() john.name = 'John' john.age = 20 print(alex.name, 'is', alex.age) print(john.name, 'is', john.age)

Слайд 12





Приклад 3
class Person:
    
    def print_info(self):
        print(self.name, 'is', self.age)

alex = Person()
alex.name = 'Alex'
alex.age = 18

jon = Person()
jon.name = 'John'
jon.age = 20

Person.print_info(alex)
jon.print_info()

print(type(Person.print_info)) 
print(type(jon.print_info))
Описание слайда:
Приклад 3 class Person: def print_info(self): print(self.name, 'is', self.age) alex = Person() alex.name = 'Alex' alex.age = 18 jon = Person() jon.name = 'John' jon.age = 20 Person.print_info(alex) jon.print_info() print(type(Person.print_info)) print(type(jon.print_info))

Слайд 13





Приклад 4
class Person:
    
# Конструктор
    def __init__(self, name, age):
        self.name = name
        self.age = age
    
    def print_info(self):
        print(self.name, 'is', self.age)

alex = Person('Alex', 18)
john = Person('John', 20)

alex.print_info()
john.print_info()
Описание слайда:
Приклад 4 class Person: # Конструктор def __init__(self, name, age): self.name = name self.age = age def print_info(self): print(self.name, 'is', self.age) alex = Person('Alex', 18) john = Person('John', 20) alex.print_info() john.print_info()

Слайд 14





Статичні методи і методи класу
Декоратор - це спеціальна функція, яка змінює поведінку функції або класу. Для застосування декоратора слід перед відповідним оголошенням вказати символ @, ім'я необхідного декоратора і список його аргументів в круглих дужках. Якщо передача параметрів декораторові не потрібна, дужки не вказуються. 
Для створення статичних методів використовується декоратор staticmethod. 
Для створення методів класу використовується декоратор classmethod.

Методи класу схожі на звичайні методи, які відносяться до самого класу як до об'єкту - екземпляру метакласу. Їх перший аргумент прийнято називати cls.
 на відміну від :
Звичайні методи належать об'єктам - екземплярів класів
Статичні методи, які відносяться до самого класу і до всіх його екземплярів але не належать жодному об'єкту - екземпляру).
Описание слайда:
Статичні методи і методи класу Декоратор - це спеціальна функція, яка змінює поведінку функції або класу. Для застосування декоратора слід перед відповідним оголошенням вказати символ @, ім'я необхідного декоратора і список його аргументів в круглих дужках. Якщо передача параметрів декораторові не потрібна, дужки не вказуються. Для створення статичних методів використовується декоратор staticmethod. Для створення методів класу використовується декоратор classmethod. Методи класу схожі на звичайні методи, які відносяться до самого класу як до об'єкту - екземпляру метакласу. Їх перший аргумент прийнято називати cls. на відміну від : Звичайні методи належать об'єктам - екземплярів класів Статичні методи, які відносяться до самого класу і до всіх його екземплярів але не належать жодному об'єкту - екземпляру).

Слайд 15





Приклад 5
# Звичайний метод
    def instance_method(self):
        print(self.data_attribute)

if __name__ == '__main__':
    # Виклик статичного методу
    MyClass.static_method()
    # Інстанціонування об'єкта
    obj = MyClass()
    # Виклик методу
    obj.instance_method()
Описание слайда:
Приклад 5 # Звичайний метод def instance_method(self): print(self.data_attribute) if __name__ == '__main__': # Виклик статичного методу MyClass.static_method() # Інстанціонування об'єкта obj = MyClass() # Виклик методу obj.instance_method()

Слайд 16





Приклад 6
class Rectangle:
    
    def __init__(self, side_a, side_b):
	   self.side_a = side_a
        self.side_b = side_b

    def __repr__(self):
        """
        Метод, що повертає рядкове представлення об'єкту
        """
        return "Rectangle(%.1f, %.1f)" % (self.side_a, self.side_b)
Описание слайда:
Приклад 6 class Rectangle: def __init__(self, side_a, side_b): self.side_a = side_a self.side_b = side_b def __repr__(self): """ Метод, що повертає рядкове представлення об'єкту """ return "Rectangle(%.1f, %.1f)" % (self.side_a, self.side_b)

Слайд 17





Приклад 6
class Circle:
    
    def __init__(self, radius):
        self.radius = radius

    def __repr__(self):
        return 'Circle(%.1f)' % self.radius
Описание слайда:
Приклад 6 class Circle: def __init__(self, radius): self.radius = radius def __repr__(self): return 'Circle(%.1f)' % self.radius

Слайд 18





Приклад 6
def main():
    rectangle = Rectangle(3, 4)
    print(rectangle)
    circle1 = Circle(1)
    print(circle1)
    circle2 = Circle.from_rectangle(rectangle)
    print(circle2)


if __name__ == '__main__':
    main()
Описание слайда:
Приклад 6 def main(): rectangle = Rectangle(3, 4) print(rectangle) circle1 = Circle(1) print(circle1) circle2 = Circle.from_rectangle(rectangle) print(circle2) if __name__ == '__main__': main()

Слайд 19





Інкапсуляція в Python
Усі атрибути за замовчуванням є публічними. 
Атрибути, імена яких починаються з одного знака підкреслення (_) говорять програмісту про те, що вони належать до внутрішньої реалізації класу і не повинні використовуватися ззовні, проте ніяк не захищені. 
Атрибути, імена яких починаються, але не закінчуються, двома символами підкреслення, вважаються приватними. До них застосовується механізм «name mangling». Він не передбачає захисту даних від зміни ззовні, так як до них все одно можна звернутися, знаючи ім'я класу, проте дозволяє захистити їх від випадкового перевизначення в классах- нащадках.
Описание слайда:
Інкапсуляція в Python Усі атрибути за замовчуванням є публічними. Атрибути, імена яких починаються з одного знака підкреслення (_) говорять програмісту про те, що вони належать до внутрішньої реалізації класу і не повинні використовуватися ззовні, проте ніяк не захищені. Атрибути, імена яких починаються, але не закінчуються, двома символами підкреслення, вважаються приватними. До них застосовується механізм «name mangling». Він не передбачає захисту даних від зміни ззовні, так як до них все одно можна звернутися, знаючи ім'я класу, проте дозволяє захистити їх від випадкового перевизначення в классах- нащадках.

Слайд 20





Спеціальні атрибути і методи
Атрибути, імена яких починаються і закінчуються двома знаками підкреслення, є внутрішніми для Python і задають особливі властивості об'єктів (приклади: __doc__, __class__).
Серед таких атрибутів є методи. У документації Python подібні методи називаються методами зі спеціальними іменами, проте в співтоваристві Python - розробників дуже поширена назва «магічні методи». Також, зустрічається і назва «спеціальні методи». Вони задають особливу поведінку об'єктів і дозволяють перевизначити поведінку вбудованих функцій і операторів для примірників даного класу. 
Найчастіше використовується метод __init__, який автоматично викликається після створення екземпляра класу.
Описание слайда:
Спеціальні атрибути і методи Атрибути, імена яких починаються і закінчуються двома знаками підкреслення, є внутрішніми для Python і задають особливі властивості об'єктів (приклади: __doc__, __class__). Серед таких атрибутів є методи. У документації Python подібні методи називаються методами зі спеціальними іменами, проте в співтоваристві Python - розробників дуже поширена назва «магічні методи». Також, зустрічається і назва «спеціальні методи». Вони задають особливу поведінку об'єктів і дозволяють перевизначити поведінку вбудованих функцій і операторів для примірників даного класу. Найчастіше використовується метод __init__, який автоматично викликається після створення екземпляра класу.



Похожие презентации
Mypresentation.ru
Загрузить презентацию