martedì 21 gennaio 2025

Corso di Programmazione Strutturata e OOP: 2 introduzione alla programmazione ad oggetti (OOP)


👩‍💻 Oggetti, classi e metodi: introduzione alla programmazione ad oggetti (OOP)

📌 Contenuti
  • Il paradigma a oggetti: una filosofia di programmazione centrata su oggetti autonomi che interagiscono tra loro.
  • Perché la OOP: migliora l’organizzazione del codice, favorisce il riuso e rende più facile la manutenzione.
  • Procedurale vs OOP: nel modello procedurale si usano funzioni e dati separati; nella OOP, dati e comportamenti sono racchiusi negli oggetti.
  • Classi e istanze: una classe è un modello generale, un'istanza è un oggetto concreto creato da quel modello.
  • Attributi e metodi: gli attributi definiscono le proprietà, i metodi definiscono le azioni.
🧪 Attività pratiche
  • 1. Classe Animale:
    Definisci una classe Animale con attributi come nome, specie e suono. Poi crea istanze come "cane", "gatto", "mucca".
    Esempio:
    class Animale:
        def __init__(self, nome, specie, suono):
            self.nome = nome
            self.specie = specie
            self.suono = suono
    
        def faiVerso(self):
            return f"{self.nome} dice {self.suono}"
    
    cane = Animale("Fido", "Cane", "bau")
    print(cane.faiVerso())
  • 2. Interazione tra oggetti:
    Crea una classe Giocattolo che interagisce con un Animale (es. cane gioca con la palla).
  • 3. Mondo reale:
    Rappresenta il concetto di Studente con attributi come nome, età, classe e metodi come “studia()”, “sostieneEsame()”.
    Fai lo stesso con Libro o ContoBancario.
📋 Test di verifica
1. Cosa rappresenta una classe nella OOP?
A) Una funzione specifica
B) Un tipo di dato primitivo
C) Un modello per creare oggetti ✅

2. Quale tra questi è un esempio di attributo?
A) studia()
B) nome
C) return

3. Quale tra queste è una differenza tra OOP e programmazione procedurale?
A) Nella OOP non esistono funzioni
B) La OOP separa dati e comportamenti
C) La OOP racchiude dati e metodi negli oggetti ✅

4. Se creo un oggetto “pippo = Animale('Pippo', 'Pappagallo', 'ciao')”, cosa rappresenta “pippo”?
A) Una classe
B) Un metodo
C) Un’istanza ✅

5. Cosa fa il metodo __init__?
A) È un costruttore, inizializza gli oggetti ✅
B) Elimina una classe
C) Chiude il programma

🔎 Risposte corrette: 1C – 2B – 3C – 4C – 5A 🎯 Obiettivo didattico:
Acquisire i concetti base della programmazione orientata agli oggetti attraverso esempi concreti, simulazioni ed esercizi. 💬 Suggerimento:
Per stimolare la riflessione, chiedi agli studenti di inventare una propria classe originale (es. Videogioco, Pianeta, Ingrediente) e mostrarne attributi e metodi in un disegno o schema.

Nessun commento:

Posta un commento

Come sopravvivere con l'informatica: Neurosimulators: deep learning ispirato al cervello

  📌 Neurosimulators: deep learning ispirato al cervello La prossima rivoluzione dell’intelligenza artificiale potrebbe arrivar...