Please enable JavaScript.
Coggle requires JavaScript to display documents.
OOP - Coggle Diagram
OOP
-
1) OOP
Definizione: Paradigma di programmazione basato sugli oggetti (istanze di classi).
Obiettivi: Modularità, riusabilità, leggibilità, manutenzione.
2) Abstraction
Concetti:
Mostrare solo le parti essenziali di un sistema.
Nasconde i dettagli di implementazione (esempio: guidare un'auto).
I vantaggi:
Semplificazione.
Interfaccia utente più chiara.
Modifiche interne senza impatti esterni.
esempio in python
from abc import ABC, abstractmethod
class Animal(ABC): abstractmethod
def sound(self): pass
class Dog(Animal):
def sound(self): print("Woof!")
-
4) Inheritance
Una classe (figlia) eredita attributi e metodi da una classe (padre).
Supporta riuso del codice e facilita estensioni.
esempio in python
class Parent: def greet(self): print("Hello!")
class Child(Parent):
pass
child = Child()
child.greet() # Output: Hello!
-
5) Polymorphism
-
Include:
Method Overriding: Ridefinizione di metodi in sottoclassi.
Duck Typing: Comportamento dinamico basato sul tipo.
esempio in python
class Animal:
def sound(self): print("Generic sound")
class Dog(Animal):
def sound(self): print("Woof!")
-
8) Getters e Setters
Getter: Recupera il valore di un attributo.
Setter: Modifica il valore di un attributo, con eventuale validazione.
esempio in python
class Person:
def init(self, name, age):
self.name = name
self.age = age
def get_name(self): return self.name
def set_name(self, name):
if len(name) > 0: self.name = name