Servirebbe un esempio accademico perchè qua non si tratta di una convenzione metodologica.
Comunque, ritorniamo al pricipio della programmazione a oggetti.
Una classe rappresenta il modello per uno o più oggetti.
Nel tuo primo metodo non hai neanche definito la variabile $nome: questo vuol dire che hai considerato che l'oggetto non richiedeva la proprietà "nome", che il "nome" non faceva parte dello stato dell'oggetto.
Hai definito un'azione che di per sè non è sbagliata, perciò non hai sbagliato nulla.
Nel secondo metodo "nome" è una proprietà dell'oggetto.
La funzione non si limita a stampare a video un messaggio, ma hai creato un metodo setter/getter. Quindi hai fatto un errore, stai facendo compiere al metodo due operazioni differenti: modificare lo stato dell'oggetto, assegnando un valore all'attributo, e accedere al valore, visualizzando un messaggio a video.
Avresti dovuto creare un metodo setter e uno getter, e secondo me non sarebbe stato neppure giusto richiamare il metodo getter di stampa a video nel contesto del metodo setter.
A parte questo errore l'enfasi del mio discorso si basa sul significato di $nome per l'oggetto.
Tu forse volevi un'altra risposta ma dovresti migliorare l'esempio, ricorda che pensare OO significa anche astrarre, il tuo esempio non è OO se non sintatticamente e in relazione al linguaggio.

Rispondi quotando