Posso spiegare Classi e Oggetti senza lo stack completo di concetti OOP?

0

Ho insegnato Python a qualcuno che era nuovo alla programmazione; Fino a qui, tutto bene. Ora, sto per insegnare Classi e Oggetti. Tuttavia, penso ancora che sia troppo presto per l'intero concetto di OOP, inoltre non ci rimane molto tempo. La mia idea è di darle un'introduzione semplice, ma utile su Classi e Oggetti senza includere un elenco completo di concetti OOP astratti. Un esempio che mi viene in mente è usare una classe come wrapper per i metodi correlati. Quindi, la mia domanda è: come posso spiegare Classi e Oggetti senza toccare altri concetti di OOP?

Nota: scusa se la mia formulazione è confusa. Cosa intendo dire se potessi evitare di entrare nei paradigmi di incapsulamento, astrazione, polimorfismo e ereditarietà? Ma fai ancora uso di Classi?

    
posta OldCastle 24.09.2017 - 09:11
fonte

1 risposta

1

La tua formulazione è un po 'strana. (Questo potrebbe anche essere stato il motivo del downvote.) Il concetto di classi / oggetti è davvero parte integrante di OOP. Quindi le "lezioni senza OOP" sembrano davvero strane. Forse aggiungi una frase di chiarimento su quali parti di OOP non vuoi toccare.

Proverò a rispondere comunque. :)

Non c'è niente di sbagliato nell'introdurre le classi come raggruppamento di wrapper per una serie di attributi e metodi correlati. Dopotutto, legare insieme lo stato e il comportamento è uno dei motivi principali per avere classi in un linguaggio di programmazione.

Puoi tranquillamente usare le classi per raggruppare le cose senza preoccuparti di altre cose legate all'OOP. In realtà penso che non sia un brutto modo di affrontare l'intero argomento OOP. Gerarchie di classi enormi e massicciamente polimorfe sono cadute in disgrazia per buone ragioni. Di conseguenza l'attenzione si è spostata sull'uso di classi per il raggruppamento e l'occultamento di dati / comportamenti interni, anche se ciò potrebbe non essere così ovvio in Python con la sua filosofia tutto è pubblico .

Quindi, come insegni le classi / oggetti senza concetti OOP "avanzati"? Lasciali fuori. Forse suggerirli per dopo. Ma non sono necessari per capire e usare classi / oggetti.

    
risposta data 24.09.2017 - 11:04
fonte

Leggi altre domande sui tag