OBJECT ORIENTED PROGRAMMING YANES HARDIANTO SUI Politeknik Manufaktur Astra 2011
OOP Object-Oriented Programming (OOP) adalah sebuah pendekatan untuk pengembangan suatu software dimana dalam struktur software tersebut didasarkan kepada interaksi object dalam penyelesaian suatu proses/tugas.
CLASS Seperti sebuah cetak biru yang digunakan untuk membuat contoh atau objek pada saat run time, dapat terdiri dari kumpulan variable (field), property dan method.
public class MainClass { public static void Main() { // Create objects // Objects must be created using the new operator: Kid kid1 = new Kid("Craig", 11); Kid kid2 = new Kid("Sally", 10); // Create an object using the default constructor: Kid kid3 = new Kid(); // Display results: Console.Write("Kid #1: "); kid1.PrintKid(); Console.Write("Kid #2: "); kid2.PrintKid(); Console.Write("Kid #3: "); kid3.PrintKid(); } Output Kid #1: Craig, 11 years old. Kid #2: Sally, 10 years old. Kid #3: N/A, 0 years old. CLASS
OBJECT Sesuatu yang dihasilkan dari blue print (class) dan sebuah object muncul ketika kita menginstance atau memanggil keyword new maka saat itulah object muncul.
public class MyClass2 { public static void Main() { object a; a = 1; // an example of boxing Console.WriteLine(a); Console.WriteLine(a.GetType()); Console.WriteLine(a.ToString()); Console.WriteLine(); a = new MyClass1 (); MyClass1 ref_MyClass1; ref_MyClass1 = (MyClass1)a; Console.WriteLine(ref_MyClass1.i); } OBJECT
METHOD Method atau fungsi dalam C# adalah suatu cara untuk memecah program menjadi beberapa bagian, sehingga ketika mengerjakan program tersebut bisa dilakukan pembagian tugas kepada beberapa orang.
using System; class Program { //Methods static void Main(string[] args) { Print(); } static void Print() { Console.WriteLine("Method Print Sukses Dipanggil!!"); } METHOD
PROPERTY Anggota yang menyediakan mekanisme yang fleksibel untuk membaca, menulis, atau menghitung nilai-nilai bidang swasta. Sifat dapat digunakan seolah-olah mereka adalah anggota data publik, tetapi mereka sebenarnya metode khusus yang disebut accesor. Hal ini memungkinkan data yang akan diakses dengan mudah dan masih membantu meningkatkan keamanan dan fleksibilitas metode.
Class { Int jari2; Double keliling ( ) { PI.Math * jari2 * jari2; } PROPERTY
ENCAPSULATION Suatu penyembunyian data supaya orang yang menggunakan class tersebut tidak perlu tahu detail-nya, hanya cukup mengetahui method dan property apa saja yang ada dalam class tersebut beserta kegunaannya
ACCESS MODIFIER Access Modifiers digunakan untuk menentukan hak akses dari class dan method, adapun access modifier yang ada pada C# sebagai berikut:
Class { Private int jari2; Public double keliling ( ) { PI.Math * jari2 * jari2; } ACCESS MODIFIER
CONSTRUCTOR Adalah method yang namanya sama dengan nama class-nya. Constructor digunakan untuk inisialisasi variabel ketika membuat instan class / objek baru.
Class Lingkaran { Private int jari2; Public Lingkaran { Jari2 = 0; } CONSTRUCTOR
INSTANTIATION Atribut untuk tiap object dari kelas yang sama. Setiap objek mempunyai dan menyimpan nilai atributnya sendiri. Jadi tiap objek dari class yang sama tersebut boleh mempunyai nilai yang sama.
class Counter extends Object { private int MyCounter; Counter() { MyCounter = 0; } public void InitialiseCounter(int value) { MyCounter = value; } public void IncrementCounter(void) { MyCounter++; } public int GetCounterValue(void) { return (MyCounter); }
OVERLOADING METHOD Pada C# kita diperbolehkan memiliki lebih dari satu konstruktor dengan nama yang sama tetapi dengan parameter yang berbeda. Inilah yang dikenal dengan overloading
class overloadingMethod { public void overloadMethod(intz,double x) { } public void overloadMethods(string x,int z) { } public void overloadMethods(int x,string z) { } public static void Main() { } OVELOADING METHOD
INHERITANCE Inheritance adalah kemampuan sebuah objek untuk meng-”inherit” atau mewarisi data dan fungsi – fungsi dari parent class nya yang sudah ada tanpa perlu menciptakannya dari awal. Terdapat base class dan derived class. Base class adalah class induk dari derived class, sedangkan derived class adalah class turunan dari base class.
class bapak { public bapak () () } public class anak : bapak { public anak () () } INHERITANCE
DESTRUCTOR Destruktor adalah method yang mempunyai tujuan berkebalikan dengan method konstruktor.jika konstruktor menciptakan objek maka destruktor mengahancurkan objek
OVERRIDING METHOD Sebuah metode menimpa menyediakan implementasi baru dari anggota diwariskan dari kelas dasar. Metode ditimpa oleh deklarasi timpa dikenal sebagai metode dasar diganti. Metode dasar yang ditimpa harus memiliki tanda tangan yang sama sebagai metode menimpa. Metode overloading terjadi ketika sebuah kelas berisi dua metode dengan nama yang sama, tetapi berbeda tanda tangan.
Class bapak { Private string _tempatLahir = “Bogor”; Public virtual string TempatLahir ( ) { Return _tempatLahir; } Class anak : bapak { Public override string TempatLahir ( ) { Return “Jakarta”; }
POLYMORPHISM Suatu teknik dalam programming yang lebih mengarahkan kita untuk memprogram secara general dari pada secara spesifik.
Private string _alamatRumah = “JL. Seroja”; Public string AlamatRumah ( ) { Return _alamatRumah; } Public string AlamatRumah (string _alamatRumah) { Return _alamatRumah; }
INTERFACE Tipe spesial pada C# yang digunakan untuk mendefinisikan spesifikasi (dalam hubungan dengan pengenalan method) dan seharusnya diikuti dengan subtipe-subtipenya.interface didefinnisikan dengan menggunakan keyword interface.
public class Car : IEquatable { public string Make {get; set;} public string Model { get; set; } public string Year { get; set; } // Implementation of IEquatable interface public bool Equals(Car car) { if (this.Make == car.Make && this.Model == car.Model && this.Year == car.Year) { return true; } else return false; }
DELEGATE Jenis yang merujuk pada sebuah metode. Sekali delegasi diberikan sebuah metode, ia berperilaku persis seperti metode tersebut. Metode delegates dapat digunakan seperti metode lainnya, dengan parameter dan nilai kembali.
// keyword_delegate.cs // delegate declaration delegate void MyDelegate(int i); class Program { public static void Main() { TakesADelegate(new MyDelegate(DelegateFunction)); } public static void TakesADelegate(MyDelegate SomeFunction) { SomeFunction(21); } public static void DelegateFunction(int i) { System.Console.WriteLine("Called by delegate with number: {0}.", i); }
TERIMA KASIH …..