|
| [ASK] belajar OOP | |
| | Pengirim | Message |
---|
Roger Novice
Posts : 191 Thanked : 3 Engine : RMVX Skill : Very Beginner Type : Scripter
| Subyek: [ASK] belajar OOP 2011-11-06, 23:48 | |
| para scripter senior RMID bisa minta tolong jelasin fungsi setter atau getter dalam OOP?? sama cara kerjanya jga saya punya bukunya tapi penjelasannya membingungkan Tolong dibantu (sekalian contonya di RM script) | |
| | | hart Senior
Posts : 805 Thanked : 38 Engine : Other Skill : Very Beginner Type : Developer
| Subyek: Re: [ASK] belajar OOP 2011-11-07, 13:59 | |
| anda tentu sudah tau setiap object bisa memiliki property nya sendiri kan? misalnya: object manusia memiliki properti nama, umur, tinggi, berat, dll. nah, setter itu adalah method atau cara untuk mengakses / mengeset properti tersebut, sementara getter itu untuk mendapatkan nilai property tersebut. Contoh dalam bahasa C++: - Code:
-
class Manusia { private: std::string nama; int umur; int tinggi; int berat;
public: void set_nama(std::string nama) // ini dia yang dinamakan setter untuk properti nama { this->nama = nama; } std::string get_nama() // ini dia yang dinamakan getter untuk properti nama { return this->nama; } // untuk getter dan setter property yang lain tinggal dibuat aja method yang kira2 sama seperti di atas. };
kalau dalam bahasa ruby, setter dan getter bisa dibuat otomatis dengan perintah: attr_accessor :nama_property (ini otomatis getter dan setter) attr_writer :nama_property (property hanya memiliki setter) attr_reader :nama_property (property hanya memiliki getter) atau bisa juga dengan cara: - Code:
-
class Manusia def nama # ini getter return @nama end def nama=(value) # ini setter @nama = value end end
| |
| | | Roger Novice
Posts : 191 Thanked : 3 Engine : RMVX Skill : Very Beginner Type : Scripter
| Subyek: Re: [ASK] belajar OOP 2011-11-07, 14:19 | |
| jadi klo setter kita meng Hard code sebuah variabel seperti contoh diatas?? begitu???
masih agak bulet, belom kotak. bisa kasi penjelasan yg lebih sederhana?? | |
| | | hart Senior
Posts : 805 Thanked : 38 Engine : Other Skill : Very Beginner Type : Developer
| Subyek: Re: [ASK] belajar OOP 2011-11-07, 14:26 | |
| - Quote :
- jadi klo setter kita meng Hard code sebuah variabel seperti contoh diatas??
begitu??? tidak. misalnya anda bikin satu variabel bernama a. untuk mengeset atau mengubah nilai a, anda kan pake a = 10, a = 50, dll bukan? nah, sementara properti yang private nggak bisa diakses dari luar. misalnya properti nama dari kelas manusia di atas. Manusia a = new Manusia(); a.nama = "Badu"; << pasti error, karena 'nama' itu private. nah, biar kita mengeset nama tersebut, dibuatlah setter. a.set_nama("Badu"); << ini baru bisa. begitu juga untuk getter, supaya kita bisa mendapatkan nama. std::string xyz = a.get_nama(); BTW, anda belajarnya pake bahasa apa? biar nyambung | |
| | | Roger Novice
Posts : 191 Thanked : 3 Engine : RMVX Skill : Very Beginner Type : Scripter
| Subyek: Re: [ASK] belajar OOP 2011-11-07, 14:30 | |
| sep hampir ngerti jadi karena variable yg dideklarasikan private, maka untuk mengubahnya dibuatlah fungsi getter dan setter. begitu??
Btw aku make bahasa Flash AS3 bahasa makro ( atau apa g tau istilahnya) Adobe Flash.
O ya bedanya getter dan setter apa? | |
| | | hart Senior
Posts : 805 Thanked : 38 Engine : Other Skill : Very Beginner Type : Developer
| Subyek: Re: [ASK] belajar OOP 2011-11-07, 15:01 | |
| - Quote :
- Btw aku make bahasa Flash AS3 bahasa makro ( atau apa g tau istilahnya) Adobe Flash.
wah saya ga tau - Quote :
- jadi karena variable yg dideklarasikan private, maka untuk mengubahnya dibuatlah fungsi getter dan setter.
begitu?? TEPAT!! terus anda pasti tanya, kalau begitu kenapa variabelnya ngga dibuat public aja biar gampang? Jawabnya, kalau dibuat public, banyak kelemahannya, apa aja? saya kurang tahu yang saya tau cuma 1 kelemahannya dan sangat berpengaruh, yaitu kalau dibikin public, kita hanya selalu bisa mengambil nilai mentah dari variabel itu (waduh ga pande jelesinnya, coba cari google aja deh kelemahannya apa, banyak tuh). - Quote :
- O ya bedanya getter dan setter apa?
getter untuk mendapatkan nilai variabel/properti, setter untuk menge-set nilai variabel/properti. | |
| | | Roger Novice
Posts : 191 Thanked : 3 Engine : RMVX Skill : Very Beginner Type : Scripter
| Subyek: Re: [ASK] belajar OOP 2011-11-07, 15:22 | |
| summaryGetter : variable suatu class mengakses fungsi getter di class lain. Lalu nilainya dikasi lagi ke class yg mengakses tadi Setter : meng set variable di kelas lain klo alasan knp dibuat private itu biar ga ngaco, coba da 2 variable sma di 2 class yg beda, pasti error ntar ( namanya proses encapsulasi) - Quote :
kita hanya selalu bisa mengambil nilai mentah dari variabel itu (waduh ga pande jelesinnya, coba cari google aja deh kelemahannya apa, banyak tuh).
nilai mentah??? paan itu kk?? | |
| | | bungatepijalan Moe Princess
Posts : 1487 Thanked : 30 Engine : Multi-Engine User Skill : Intermediate Type : Developer
Trophies
Awards: | Subyek: Re: [ASK] belajar OOP 2011-11-07, 15:45 | |
| ijinkan saya berpendapat meski udah ada yang jelasin
secara agak general, fungsi setter & getter sebenernya merupakan fitur dari bahasa pemrograman dalam lingkup OOP; konsep OOP sendiri ga memperkenalkan setter & getter tapi, atribut publik bisa langsung dijadikan setter & getter karena bisa diakses dari luar
nah, dalam bahasa ruby, pendefinisian atribut publik dengan attr_reader atau attr_accessor, bedanya nilai attr_reader tidak bisa diubah dari luar sehingga dapat dijadikan getter, sedangkan nilai attr_accessor dapat diakses & diubah dari luar sehingga dapat dijadikan getter & setter
on the other way, method dapat dijadikan getter, dan setter dapat dibuat dengan pendefinisian operator method tapi IMO, lebih gampang & praktis pake atribut publik deh
untuk lebih jelas, lihat contoh yg dikasih om hart dan IMO penjelasan om hart juga udah cukup
dan sekali lagi, in summary, getters & setters are public attributes | |
| | | Roger Novice
Posts : 191 Thanked : 3 Engine : RMVX Skill : Very Beginner Type : Scripter
| Subyek: Re: [ASK] belajar OOP 2011-11-08, 14:37 | |
| Eh bgtu to??? baru tau, maklum masi modular programmer | |
| | | Sponsored content
| Subyek: Re: [ASK] belajar OOP | |
| |
| | | | [ASK] belajar OOP | |
|
Similar topics | |
|
| Permissions in this forum: | Anda tidak dapat menjawab topik
| |
| |
| Latest topics | » [Web Novel] Gloria Infidelis by LightNightKnight 2016-11-17, 21:27
» [Announcement] Forum baru untuk RMID by TheoAllen 2016-08-25, 16:39
» Where I'm Wrong ? by ReydVires 2016-07-24, 16:10
» flakeheartnet's Resources part III by flakeheartnet 2016-07-08, 14:30
» Keira's Art Warehouse by KeiraBlaze 2016-06-28, 19:27
» Theo Core Time System + Bingung by Lockin 2016-06-27, 16:24
» Error Script, Maybe ? by Lockin 2016-06-27, 16:20
» Nusaimoe @ RMID Lounge by Jihad Bagas 2016-06-21, 05:02
» Call Random Battle by Lockin 2016-06-15, 17:04
» Flakeheartnet Resources Part II [come back gift] by flakeheartnet 2016-06-07, 15:51
|
Statistics
|
Members: [ 4947 ]
Topics: [ 8258 ]
Posts: [ 112606 ]
Newest member: [ https://rmid.forumotion.net/u4968 ]
|
|
|
|