- To create a sub class,
- add ' : <classname>' to the class statement
- add :' base()' to the constructor
Base Class WITHOUT Arguments
- If Base Class accepts NO arguments, the subclass doesn't need to include the 'base class constructor'
class BaseClass
{
public BaseClass()
- Constructor doesn't need an explicit reference to the base class
class Base_SubClass : BaseClass
{
public Base_SubClass()
-
This is also valid & probably preferred
class Base_SubClass : BaseClass
{
public Base_SubClass() : BaseClass() {}
Base Class WITH Arguments
-
If Base Class constructor TAKES arguments, the subclass constructor must include them explicitly
class BaseClass
{
public BaseClass(string message)
{
-
Include the baseclass argument
class Base_SubClass : BaseClass
{
public Base_SubClass() : base("MessageForBaseClassConstructor")
{
BaseClass Example
using System;
using System.Collections.Generic;
using System.Text;
namespace Basics.Basics
{
class BaseClass
{
public BaseClass(string text)
{
Console.WriteLine("BaseClass()-Constructor():Passed String: {0}", text);
}
public static void StaticPrintOut()
{
Console.WriteLine("BaseClass.StaticPrintOut()");
}
public void InstancePrintOut()
{
Console.WriteLine("BaseClass.InstancePrintOut()");
}
}
}
SubClass Example
using System;
using System.Collections.Generic;
using System.Text;
namespace Basics.Basics
{
class Base_SubClass : BaseClass
{
public Base_SubClass() : base("SubClassPassedString")
{
Console.WriteLine("Base_SubClass()-Constructor");
}
public static void StaticPrintOutSubClass()
{
Console.WriteLine("BaseClass.StaticPrintOutSubClass()");
}
public void InstancePrintOutSubClass()
{
Console.WriteLine("BaseClass.InstancePrintOutSubClass()");
}
}
}
- Log in to post comments
Tags
