Al momento sto lavorando a un gioco e volevo aggiungere supporto per lo scripting. A causa del tentativo di mantenere l'intero codebase nel c # gestito (Escluso Monogame), sto usando un linguaggio personalizzato per lo scripting (non esistono solo implementazioni gestite di Lua ... eccetto AluminumLua che è incompleto).
In un tale linguaggio, dovrebbero esistere disposizioni di base. Questi includerebbero:
- Oggetti / Proprietà / Variabili
- float e stringhe
- Funzioni
- condizionali
- Loop
Mi mancano le parti principali di un linguaggio orientato agli oggetti di base?
Modifica Come ho sottolineato i commenti, sarebbe molto meglio finire l'implementazione incompleta di Lua per C # piuttosto che progettare il mio linguaggio ... che è quello che farò. Tuttavia, sono ancora curioso di sapere quali sono le proprietà di un linguaggio orientato agli oggetti. Quindi, quali proprietà ha un linguaggio OO?
Alcune definizioni di orientamento agli oggetti (di nuovo, deciso nei commenti):
Combinare lo stato di un oggetto con il suo comportamento.
Un linguaggio orientato agli oggetti è un metodo per combinare lo stato di un oggetto (le sue proprietà) con il comportamento (funzioni).
L'orientamento dell'oggetto sta definendo i dati (come una struttura C) e fornendo metodi specifici per interagire con esso (la funzione ChangeValue), piuttosto che dare alla persona che utilizza quel codice la possibilità di modificare qualsiasi parte, inclusi i componenti "interni". / p>
L'orientamento degli oggetti è solo un modo per ordinare i dati (che saranno rappresentati in binario) in modo più chiaro per un programmatore e per proteggerli da un uso errato (ad esempio impostando un carattere anziché un byte in una funzione).