In base a questa domanda Penso che mentre lo scopo di OOP non è necessariamente quello di copiare oggetti del mondo reale, potrebbero essere fonte di ispirazione per progettare un software o risolvere un problema o persino imparare l'OOP stesso.
Ad esempio, per un'applicazione che si occupa del disegno, un Bitmap
potrebbe essere considerato come un Page
, quindi come una pagina ha il retro del colore, possiamo definire un attributo BackColor
per esso. Ma possiamo renderci conto che una pagina reale non ha il colore del testo ed è l'attributo della penna, quindi possiamo definire una classe chiamata Pen
che è usata per disegnare e ha un Color
, LineWeight
o ..
Cerco sempre l'analogia e l'ispirazione degli oggetti e delle loro interazioni quando sviluppo un software, ma non ho una definizione sistematica o chiara per quello che sto facendo. Non so quali aspetti di OOP sto copiando.
È una tecnica accettabile in OOP? Lo usi? È possibile che io violi una linea guida OOP mentre sto usando questa tecnica?
Vorrei sapere in che modo questa tecnica può aiutarmi a seguire i principi di OO, quindi posso consapevolmente usarlo.