Deskripsi Kasus
Kasus yang saya adalah Member di Suatu tempat Kursus. Seorang member di
suatu tempat kursus umumnya memiliki nama, kode ruangan kursus, jadwal
kursus. Tempat kursus juga biasanya ada yang memberikan fasilitas konsumsi
kepada membernya.
Tempat kursus yang saya buat disini terdiri dari dua jenis member yaitu regular
dan premium. Member regular berhak mendapatkan kesempatan try out dalam
satu hari. Member premium memiliki keuntungan lain yaitu berhak mendapatkan
hari konsultasi, hari kursus tambahan , dan minuman sebagai pelengkap
konsumsi. Member premium tidak bisa mendapatkan kesempatan tryout.
Source Code
using System;
using
using
using
using
System.Collections.Generic;
System.Linq;
System.Text;
System.Threading.Tasks;
namespace Inheritance_
{
class Program
{
static void Main(string[] args)
{
RegularMember Imam = new RegularMember("Imam", "A1101", "Roti Goreng",
"Senin", "Kamis");
Console.WriteLine("Nama : {0}\nKode Ruangan : {1} ", Imam.Name,Imam.Room);
Imam.displayJadwal();
Console.WriteLine("Konsumsi yang di dapat : {0}\n", Imam.getKonsumsi());
PremiumMember Fauzan = new PremiumMember("Fauzan", "A202", "Pizza",
"Selasa", "Sabtu", "Kamis", "Teh Botol");
Console.WriteLine("Nama : {0}\nKode Ruangan : {1} ", Fauzan.Name,
Fauzan.Room);
Fauzan.displayJadwal();
Console.WriteLine("Konsumsi yang di dapat : {0}", Fauzan.getKonsumsi());
Console.ReadKey();
}
}
}
Source Code 1 Main Program
using
using
using
using
using
System;
System.Collections.Generic;
System.Linq;
System.Text;
System.Threading.Tasks;
namespace Inheritance_
{
//base class
class CourseMember
{
protected string name;
protected string room;
protected string snack;
protected string day;
public CourseMember(string nama, string kodeRuangan, string makanan, string hari)
{
name = nama;
room = kodeRuangan;
snack = makanan;
day = hari;
}
public string Name
{
get { return name; }
}
}
Source Code 2 Class CourseMember , base class
using
using
using
using
using
System;
System.Collections.Generic;
System.Linq;
System.Text;
System.Threading.Tasks;
namespace Inheritance_
{
class RegularMember : CourseMember
{
private string tryOutDay;
public RegularMember(string nama, string kodeRuangan, string makanan, string
hari,string tryout) : base(nama,kodeRuangan,makanan,hari)
{
tryOutDay = tryout;
}
public string tryout
{
get { return tryOutDay ;}
set { tryOutDay = value ; }
}
public override void displayJadwal()
{//override method
Console.WriteLine("Jadwal Kursus");
Console.WriteLine("Hari Kursus : {0}",day);
Console.WriteLine("Hari Try Out : {0}", tryout);
}
}
}
Source Code 3 Class RegularMember : derrived class
using
using
using
using
using
System;
System.Collections.Generic;
System.Linq;
System.Text;
System.Threading.Tasks;
namespace Inheritance_
{
class PremiumMember : CourseMember
{
private string konsultasi;
private string tambahan;
private string drink;
public PremiumMember(string nama, string kodeRuangan, string makanan, string hari,
string konsul, string haritambahan, string minuman) :
base(nama, kodeRuangan, makanan, hari)
{
konsultasi = konsul;
tambahan = haritambahan;
drink = minuman;
}
public string Konsultasi
{
get { return konsultasi; }
set { konsultasi = value; }
}
public string Tambahan
{
get { return tambahan; }
set { tambahan = value; }
}
public string Drink
{
get { return drink; }
set { drink = value; }
}
}
}
Source Code 4 Class Premium Member : derrived class
Derivved Class
Derivved class teridiri dari dua yaitu :
RegularMember
PremiumMember
Virtual Method
Di dalam base class terdapat 2 virtual method yaitu :
getKonsumsi()
displayJadwal()
public virtual string getKonsumsi()
{
return Snack;
}
public virtual void displayJadwal()
{
Console.WriteLine("Jadwal Kursus");
Console.WriteLine(day);
}
Source Code 5 Virtual Method
Kedua method diatas dijadikan sebagai virtual karena property konsumsi dan
jadwal yang dihasilkan oleh derrived class nantinya akan berbeda.
Override Method
Terdapat override method di masing-masing derrived class, diantaranya :