c# - How do I know what to put in my interfaces? -


i've come across recurring problem when trying design logic programs. let's have idriveable interface.

interface idriveable {   public void drive(); } 

then car class implements (c#) syntax:

class car : idriveable {   public void drive(){   //do movement here.   }  } 

here's problem occurs. if designing game, car doesn't drive itself, player should drive car, surely makes sense?

class player {     public void drive(idriveable vehicle){          vehicle.drive();      } } 

it feels 'ping-ponging' logic around doesn't seem right.

a better way structure code might this:

class player // start class names capital letter {     car thisplayerscar; // initialize  constructor or somewhere appropriate      public void somefunction() {         thisplayerscar.drive();     } } 

basically, purpose of interface wherever call thisplayerscar.drive(); (or drive() on idriveable), you're guaranteed object have drive() function ready go.


Comments

Popular posts from this blog

java.util.scanner - How to read and add only numbers to array from a text file -

rewrite - Trouble with Wordpress multiple custom querystrings -