Skip to content

Lecture No. 06

Dated: 29-04-2025

Namespaces

// Namespace Declaration
using System;

// The C# Station Namespace
namespace csharp_station {
    // Program start class
    class namespacecss {
        // Main begins program execution.
        public static void Main() {
            // Write to console
            Console.WriteLine("This is the new C# Station Namespace.");
        }
    }
}

Nested

namespace Parent {
    namespace Child {

    }
}
namespace Parent.Child {

}
using renamed_namespace = Parent.Child

Classes

// Namespace Declaration
using System;

// helper class
class outputclass {
    string mystring;

    // Constructor
    public outputclass(string inputstring) {
        Mystring = inputstring;
    }

    // Instance Method
    public void printstring() {
        Console.WriteLine("{0}", mystring);
    }

    // Destructor
    ~outputclass() {
        // Some resource cleanup routines
    }
}

// Program start class
class exampleclass {
    // Main begins program execution.
    public static void Main() {
        // Instance of outputclass
        outputclass outcl = new outputclass("This is printed by the output class.");
        // Call Output class' method
        outcl.printstring();
    }
}

Inheritance

using System;

public class parentclass {
    public parentclass() {
        Console.WriteLine("Parent Constructor.");
    }

    public void print() {
        Console.WriteLine("I'm a Parent Class.");
    }
}

public class childclass : parentclass {
    public childclass() {
        Console.WriteLine("Child Constructor.");
    }

    public static void Main() {
        childclass child = new childclass();
        child.print();
    }
}
using System;

public class Parent {
    string parentstring;

    public Parent() {
        Console.WriteLine("Parent Constructor.");
    }

    public Parent(string mystring) {
        parentstring = mystring;
        Console.WriteLine(parentstring);
    }

    public void print() {
        Console.WriteLine("I'm a Parent Class.");
    }
}

public class Child : Parent {
    public Child() : base("From Derived") {
        Console.WriteLine("Child Constructor.");
    }

    public new void print() {
        base.print();
        Console.WriteLine("I'm a Child Class.");
    }

    public static void Main() {
        Child child = new Child();
        child.print();
        ((Parent)child).print();
    }
}
From Derived 
Child Constructor. I’m a Parent Class. I’m a Child Class. I’m a Parent Class.

Polymorphism

using System;

public class drawingobject {
    public virtual void Draw() {
        Console.WriteLine("I'm just a generic drawing object.");
    }
}

public class Line : drawingobject {
    public override void Draw() {
        Console.WriteLine("I'm a Line.");
    }
}

public class Circle : drawingobject {
    public override void Draw() {
        Console.WriteLine("I'm a Circle.");
    }
}

public class Square : drawingobject {
    public override void Draw() {
        Console.WriteLine("I'm a Square.");
    }
}

public class drawdemo {
    public static int Main () {
        drawingobject[] dobj = new drawingobject[4];
        dobj[0] = new Line();
        dobj[1] = new Circle();
        dobj[2] = new Square();
        dobj[3] = new drawingobject();
        foreach (drawingobject drawobj in dobj) {
            drawobj.Draw();
        }
        return 0;
    }
}

Output

I'm a Line.
I'm a Circle. I'm a Square.
I'm just a generic drawing object.

Access Properties

using System;

public class Customer {
    private int m_id = -1;
    public int getid () {
        return m_id;
    }

    public void setid (int id) {
        M_id = id;
    }

    private string m_name = string.Empty;

    public string getname () {
        return m_name;
    }

    public void setname (string name) {
        M_name = name;
    }
}

public class customermanagerwithaccessormethods {
    public static void Main () {
        Customer cust = new Customer();
        cust.setid(1);
        cust.setname("Amelio Rosales");
        Console.WriteLine(
            "ID: {0}, Name: {1}",
            cust.getid(),
            cust.getname());
        Console.ReadKey();
    }
}

Setters and Getters

using System;

public class Customer {
    private int m_id = -1;

    public int ID {
        get {
            return m_id;
        }
        set {
            M_id = value;
        }
    }

    private string m_name = string.Empty;

    public string Name {
        get {
            return m_name;
        }
        set {
            M_name = value;
        }
    }
}

public class customermanagerwithproperties {
    public static void Main () {
        Customer cust = new Customer();
        cust.ID = 1;
        cust.Name = "Amelio Rosales";
        Console.WriteLine(
            "ID: {0}, Name: {1}",
            cust.ID,
            cust.Name);
        Console.ReadKey();
    }
}