// memerlukan default constructor

Slides:



Advertisements
Presentasi serupa
Pemrograman JAVA (TIB09)
Advertisements

Bekerja dengan Java class library
OOP berputar pada konsep dari obyek yang merupakan elemen dasar dari program Anda. Ketika kita membandingkan dengan dunia nyata, kita dapat menemukan.
Membuat class sendiri.
1.Overloading method 2.Konstruktor 3.Overloading konstruktor 1.Overloading method 2.Konstruktor 3.Overloading konstruktor.
Dasar-Dasar Java (lab-2).  Komentar merupakan keterangan pada program. Letak komentar bisa dimanapun dalam program.  Ada beberapa macam komentar : ◦
KONSEP OBJECT ORIENTED PROGRAMING (OOP)
Modul 14 – Hendi Hermawan - 1
MODUL 13 STRING 13.1 Pendahuluan String merupakan suatu kumpulan
PEWARISAN ( INHERITANCE)
10 KELAS class nama_class struct nama_struct
Modul 10 Fungsi PENGERTIAN FUNGSI
BAB III – CLASS (1) DIKTAT PBO Oleh: Adam Mukharil B. S.Kom.
Parameter formal adalah variabel yang ada pada daftar parameter dalam
Modul 11 – Hendi Hermawan - 1
Java array.
SLIDE OTOMATIS PINDAH DALAM WAKTU 4-5 MENIT. A:kiriB:kanan Deklarasikan sebuah variabel dengan nama ‘isi’ yang mempunyai type array of double dengan ukuran.
Inheritance Ery Setiyawan Jullev A.
STRING Pemrograman Object Oriented dengan JAVA Teknik Informatika-UMM.
Pemrograman Berbasis Obyek Oleh Tita Karlita
Pertemuan 8 Pemrograman Berbasis Obyek Oleh Tita Karlita
Variabel, Method & Constructor Oleh : Nur Hayatin, S.ST Teknik Informatika – UMM 2011.
Pemrograman Berorientasi Obyek Oleh Tita Karlita
Class.
METHOD Object Oriented Programming with JAVA 2011/2012.
Class Member Access Control
Pemrograman Berorientasi Obyek dengan JAVA Interface
07 Advanced Class Features
Object Oriented Programming with JAVA 2011/2012
MEMBUAT CLASS SENDIRI. Pada akhir pembahasan, peserta diharapkan mampu untuk :  Membuat class  Mendeklarasikan atribut dan method untuk class  Menggunakan.
Bekerja dengan Java class library
Method, Array dan String
Friend. Adalah fungsi bukan anggota kelas yg dapat mengakses anggota kelas. Secara umum friend berguna jika terdapat suatu operasi yg hendak mengakses.
1 Pertemuan 6 Encapsulation Lanjutan Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
INHERITANCE (Oleh : Nur Hayatin, S.ST)
OOP Java Minggu 2b Dasar OOP. Class (1) Deklarasi class : [ *] class { [ *] } Cat : [] = optional, * = repeat 0-N.
Algoritma &Pemrograman 1
Pada Bab sebelumnya, kita telah mendiskusikan bagaimana cara pendeklarasian berbagai macam variabel dengan menggunakan tipe data primitif. Dalam pendeklarasian.
Java array.
Pemrograman Visual I Outline: Method Method Void & fungsi
JAVA ARRAY.
Access Modifier.
Java array.
DASAR DASAR JAVA Dengan Netbans PBO Java.
Algoritma & Pemrograman 1
Method & Constructor METHOD.
ARRAY Siti Mukaromah,S.Kom.
Java array.
Siti Mukaromah,S.Kom,MCP
MODIFIER JAVA.
Enkapsulasi, Accessor Method, Mutator Method
Java array.
Constructor overloading
Association, Composition dan Inheritance
MEMBUAT CLASS SENDIRI 2.
Algoritma &Pemrograman 1
C++ static.
Membuat Kelas.
Java array.
Class.
Algoritma &Pemrograman 1
Praktikum 02 konstruksi class
Matakuliah : M0074/PROGRAMMING II Tahun : 2005 Versi : 1/0
Materi 9 Pembahasan CLASS Dalam C++
Java array.
Java array.
Dasar-dasar Pemrograman Berbasis Obyek. kelas Kelas pada java didefinisikan dengan menggunakan kata kunci class.
Pemrograman Berorientasi Objek
Pada Bab sebelumnya, kita telah mendiskusikan bagaimana cara pendeklarasian berbagai macam variabel dengan menggunakan tipe data primitif. Dalam pendeklarasian.
Transcript presentasi:

// memerlukan default constructor http://www.mercubuana.ac.id MODUL 15 Class Lanjutan 1. Constructor C( ) adalah anggota class yang bertugas melakukan inisialisasi obyek (instance) dari suatu class C. Constructor mempunyai nama yang sama dengan nama class, dan tidak mempunyai return value. Sebuah class dapat mempunyai lebih dari satu constructor. Constructor yang tidak mempunyai argumen, disebut default constructor, sebaliknya constructor yang mempunyai lebih dari satu argumen adalah non-default consructor. Constructor dengan satu default argument tetap merupakan sebuah default constructor, class C { public: C(int count=10) : _count(count) {} … private: int _count; }; Compiler C++ dapat menambahkan default constructor bilamana diperlukan, jika dalam definisi class : · tidak tertulis secara eksplisit sebuah default constructor dan tidak ada deklarasi constructor lain (copy constructor). · tidak ada anggota class berupa data const maupun reference. Sebagai contoh definisi class C sebagai berikut : class C {…}; C c1; C c2(c1); // memerlukan default constructor // memerlukan copy constructor Compiler C++ memutuskan untuk menambahkan default dan copy construtor setelah menemui kedua baris program tersebut, sehingga definisi class secara efektif menjadi sebagai berikut : 1

Kedua cara tersebut memberikan hasil yang sama, tidak ada perbedaan http://www.mercubuana.ac.id Modul 15 – Hendi Hermawan - 3 class C { public: C(const char* aName); C(const string& aName); … private: std::string name; }; Copy constructor bentukan compiler menggunakan copy constructor class string untuk inisialisasi name dari aName. Jika class C tidak mempunyai constructor, maka compiler menambahkan juga default constructor untuk inisialisasi name menggunakan default constructor class string. Inisialisasi obyek menggunakan constructor (non-default) dapat dilakukan dengan member initializer maupun dengan assignment sebagai berikut : Kedua cara tersebut memberikan hasil yang sama, tidak ada perbedaan signifikan antara kedua cara tersebut untuk data bukan tipe class. Cara member initializer mutlak diperlukan untuk data const maupun reference, seperti kedua contoh berikut ini: class C // 1 { public: C(int hi,int lo) : _hi(hi),_lo(lo) {} … private:

http://www.mercubuana.ac.id Modul 15 – Hendi Hermawan - 5 class A { public: A( ); }; class B { public: B(const A&); }; pada cuplikan baris program di bawah ini terjadi konversi tipe obyek A ke B secara implisit melalui copy constructor class B. Aa B b=a; // implicit conversion 2. Explicit C++ menyediakan satu sarana, menggunakan keyword explicit, untuk mengubah perilaku constructor dengan satu argumen agar tidak berfungsi sebagai conversion operator. Jika class B menyatakan explicit pada copy constructor sebagai berikut : class B { public: explicit B(const A& a); // explicit ctor }; maka konversi A ke B secara implisit tidak dapat dilakukan. Konversi A ke B dapat dilakukan secara eksplisit menggunakan typecast, A a; B b=static_cast<B>(a); atau B b=(B)a; Konversi secara implisit dapat terjadi melalui argumen fungsi f dengan tipe B void f(const B& ); tetapi f diakses dengan variabel tipe A, f(a). Apabila class B menghalangi konversi secara implisit maka argumen fungsi f menjadi,