title: Instantiate with different classes?
body: <p>This might sound dump, but can I do such thing:</p>
  <pre><code>public class CameraConnection
  {
      Object camera;
      public CameraConnection(bool isNewCamera)
      {
          if(isNewCamera)
          {
              camera = new Camera1();
              
          }
          else
          {
              camera = new Camera2();
          }
      }
      public void TakeImage()
      {
          camera.TakeImage();
      }
  }
  </code></pre>
  <p>So here I can call camera.TakeImage() for taking an image, but base on which class the variable camera is instantiated (Camera1 or Camera2) it actually uses differrent camera APIs..</p>
  <p>I feel like this is somewhat related to class abstraction or interface but not really sure...</p>
  <p>Thanks a lot!</p>