OOP

-->
Mostly, apa itu OOP udah dibahas sama yang lainnya.. .....
In my own definition, OOP disebut objec-oriented, karena orientasi atau sudut pandang kita dalam memandang code dalama OOP kurang lebih sama dengan kita memandang benda di dunia nyata: ada sifat (parameter), dan ada tindakan atau perilaku (behaviour/method).
Class, adalah bagaimana kita mendefinisikan sebuah object ke dalam code. Singkatnya, sebuah blueprint dari sebuah object. Di dalam sebuah class, kita menuliskan sifat-sifat sebuah object, beserta semua behaviournya. Contoh sebuah class di Java (sori, gw cuman kompeten di Java):
class Cat {
//sifat atau parameter
String name;
int legs;
//perilaku atau method
void meow() {}
void walk() {}
void eat() {}
}
Ketika kita men-instance (sorry, gw gak bisa nerjemahin ini jadi lebih bahasa manusia) sebuah class, maka class akan berubah menjadi object, dan baru pada saat itulah kita bisa memanipulasinya di dalam program.
Sub class -- in my term, lebih sering disebut child class -- adalah sebuah class yang merupakan turunan, atau bisa dikatakan, perpanjangan dari sebuah class. Sebuah sub class memiliki sebagian/semua sifat dan perilaku dari induknya (disebut super class, atau in my term parent class), ditambah dengan sifat & perilakunya sendiri. Contoh:
class Cat {
//sifat atau parameter
String name;
int legs;
//perilaku atau method
void meow() {}
void walk() {}
void eat() {}
}
class Persian extends Cat {
//sifat atau parameter
//String name; <--otomatis dimiliki="" disembunyikan="" kecuali="" oleh="" p="" parent="">
//int legs; <--otomatis dimiliki="" disembunyikan="" kecuali="" oleh="" p="" parent="">
//perilaku atau method
//void meow() {} <--otomatis dimiliki="" disembunyikan="" kecuali="" oleh="" p="" parent="">
//void walk() {} <--otomatis dimiliki="" disembunyikan="" kecuali="" oleh="" p="" parent="">
//void eat() {} <--otomatis dimiliki="" disembunyikan="" kecuali="" oleh="" p="" parent="">
void sleep() {} // <-- class="" ini="" milik="" p="" perilaku="" sub="">
}
Mengenai sifat atau perilaku yang tidak diturunkan oleh super class, perlu dipahami dulu mengenai access modifier.
I'll try to bring more concept later, sementara, member-member yang lain di sini rasanya juga sangat kompeten dalam membantu mengenai OOP ;)
package {
import flash.display.Sprite;
import flash.geom.Rectangle;
class Hero extends Sprite {
private var hitbox:Rectangle; /* dipake buat collision detection */
public var vectorX:int; /* dipake buat movement, value positif ke kanan, negatif ke kiri */
public function Hero() { }
public function init() { }
public function update() { }
public function destroy() { }
private function shoot() { }
private function applyVectors() { }
private function checkCollisions() { }
}
}
i dunno.. bener2 sesukamu really.. yang rada sama itu kalo pake pola desain (design patterns) tertentu.. kalo gini sih, tiap game/project biasanya beda2..





Belum ada Komentar untuk "OOP"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel