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();
}
}