Intern
Cos'è la programmazione orientata agli oggetti (OOP)?
sobes.tech AI
Risposta dell'AI
La programmazione orientata agli oggetti (OOP) è un paradigma di programmazione basato sul concetto di "oggetti", che contengono dati (campi, attributi) e codice (metodi, procedure).
Principi fondamentali dell'OOP:
- Incapsulamento: Raggruppamento di dati e metodi che operano su di essi in una singola struttura — oggetto. Nascondere l'implementazione interna dell'oggetto.
- Ereditarietà: Capacità di creare una nuova classe basata su una esistente, ereditando le sue proprietà e metodi. Permette di riutilizzare il codice e creare gerarchie di classi.
- Polimorfismo: Capacità di trattare oggetti di classi diverse allo stesso modo. Metodi con lo stesso nome possono eseguire azioni diverse a seconda del tipo di oggetto.
- Astrazione: Evidenziare le caratteristiche essenziali dell'oggetto, scartando dettagli non essenziali. Creazione di tipi di dati generali e astratti.
Esempio in Swift:
class Animal {
var name: String
init(name: String) {
self.name = name
}
func makeSound() {
// Implementazione di base, può essere sovrascritta nelle sottoclassi
}
}
class Dog: Animal {
override func makeSound() {
print("Woof!")
}
}
class Cat: Animal {
override func makeSound() {
print("Meow!")
}
}
// Polimorfismo
let animals: [Animal] = [Dog(name: "Buddy"), Cat(name: "Whiskers")]
for animal in animals {
animal.makeSound() // Chiama il metodo makeSound() appropriato per ogni oggetto
}