@UncleIroh @Tfmonkey
They serve a function. In programming language you also need virtual classes that are empty and exist only to refer to an existing origin class.
The irony is that all virtual classes share the same member, just like npcs: you just need to change their origin code ("the message") and you take them all over.
@UncleIroh @Zeb @Tfmonkey I agree that UncleIroh's model is more accurate, but I also disagree. NPCs are following their programming perfectly. It's the program that has kept the majority of humanity alive for generations: Conform. If a person does have an inner monologue, they are told via social pressure that only external monologues matter.
@Zeb @Tfmonkey
You're probably talking about virtual methods and properties in abstract base classes that can be overridden in the inherited classes, like in java/c#.
The way I'd model it would be that the NPC class inherits from the abstract base class Person, but also have an interface called InnerMonologue that NPC simply doesn't implement.
There's literally nothing there.