I concetti OOP non cambiano se li si confronta in diversi linguaggi di programmazione, sebbene il modo in cui viene implementato possa variare. Ho lavorato su C ++ per 2 anni e prima ancora ho imparato e lavorato in Java.
Ecco come puoi guardarlo.
Le classi sono i progetti basati su quali oggetti sono generati. In altre parole, la classe può essere vista come entità logiche generiche e gli oggetti sono entità fisiche. Ad esempio: la forma è un'entità logica generica e il cerchio è un'entità fisica.
Ogni classe contiene dati e metodi (funzione) per manipolare tali dati.
per esempio: la forma ha lunghezza, dimensione ecc. come dati e volume (), Area () ecc. come metodi.
Ora, per quanto ho capito, la tua domanda ti sta chiedendo su come o quando i metodi diventano diversi per oggetti / istanze differenti. (correggimi).
Ora per rispondere dobbiamo capire il polimorfismo che è un concetto di OOP.
Il polimorfismo ha due varianti statiche e dinamiche.
Il polimorfismo statico viene implementato tramite sovraccarico di funzione / metodo e
Il polimorfismo dinamico viene implementato mediante l'override di funzione / metodo.
Collegamento statico:
Metodi multipli, stesso nome, stesso ambito, parametri diversi.
Viene risolto al momento della compilazione.
Associazione dinamica:
Metodi multipli, stesso nome, ambito diverso, stessi parametri.
Viene risolto in fase di runtime.
Ora se due istanze (ad esempio O1 O2) funzionano in modo tale da chiamare alla fine metodi diversi tramite associazione statica o associazione dinamica.
Ciò significa che l'istanza O1 chiamerà diversi metodi quando la confronti con O2.
Spero che abbia un senso, post dubbio se ce ne sono.