Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Your explanation seems to point towards using an abstract class. You could have an abstract class that would have an implementation of the Initialize method, and you would not need to repeat it in the Oberon and AirSys subclasses. PullData could be an abstract method that would then get implemented in the separate subclasses. And yes, only the class that requires the ValidateData method would have it implemented.</p> <p>Example would be:</p> <pre><code>public abstract class AirlineSystemBase { string Name { get; set; } int Code { get; set; } public void Initialize() { //code goes here } public abstract void PullData(); } public class Oberon : AirlineSystemBase { public override void PullData() { //code goes here } } public class AirSys : AirlineSystemBase { /// &lt;summary&gt; /// that is if say only AirSys class had a need for this ValidateData() method /// &lt;/summary&gt; public void ValidateData() { //code goes here } public override void PullData() { //code goes here } } </code></pre> <p>OR if you want to use both interface and abstract class:</p> <pre><code>public interface IAirlineSystem { void PullData(); void ValidateData(); } public abstract class AirlineSystemBase : IAirlineSystem { string Name { get; set; } int Code { get; set; } public void Initialize() { //code goes here } public abstract void PullData(); public virtual void ValidateData() { //code goes here } } public class Oberon : AirlineSystemBase { public override void PullData() { //code goes here } } public class AirSys : AirlineSystemBase { /// &lt;summary&gt; /// that is if say only AirSys class had a need for this ValidateData() method /// &lt;/summary&gt; public override void ValidateData() { //code goes here } public override void PullData() { //code goes here } } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload