Sabtu, 10 April 2010

Inheritance


Inheritance/Warisan C++

Pengenalan

Apa Warisan?

Warisan adalah proses di mana kelas-kelas baru yang disebut berasal kelas diciptakan dari kelas yang ada disebut kelas dasar. Kelas-kelas turunan memiliki semua fitur dari kelas dasar dan programmer dapat memilih untuk menambahkan fitur baru khusus untuk kelas turunan yang baru dibuat.

Sebagai contoh, seorang programmer dapat membuat basis kelas bernama buah , dan mendefinisikan kelas turunan sebagai mangga, orange, jeruk, banana, pisang,dll

setelah semua fitur dari kelas dasar (buah) dengan atribut tambahan atau fitur khusus untuk kelas turunan yang baru dibuat ini. Mango akan didefinisikan sendiri fitur-fiturnya, oranye akan didefinisikan sendiri fitur-fiturnya, pisang akan sendiri didefinisikan fitur, dll

Konsep Warisan mengarah ke konsep polimorfisme

Features or Advantages of Inheritance: Fitur atau Keuntungan dari Warisan:

Reusability: Usabilitas:


Inheritance helps the code to be reused in many situations. Warisan membantu kode yang akan digunakan kembali dalam banyak situasi. The base class is defined and once it is compiled, it need not be reworked. Kelas dasar didefinisikan dan setelah dikompilasi, itu tidak perlu dikerjakan ulang. Using the concept of inheritance, the programmer can create as many derived classes from the base class as needed while adding specific features to each derived class as needed. Menggunakan konsep warisan, pemrogram dapat membuat sebagai kelas banyak berasal dari kelas dasar yang diperlukan ketika menambahkan fitur spesifik untuk masing-masing kelas turunan yang diperlukan.

Menghemat Waktu dan Usaha:

Konsep di atas usabilitas dicapai oleh warisan programmer menghemat waktu dan usaha. Sejak kode utama tertulis dapat digunakan kembali dalam berbagai situasi yang diperlukan

contoh program inheritance pada C++

kelas exforsys
(
publik:
exforsys (void) (x = 0;)
void f (int n1)
(
x = n1 * 5;
}
void output (void) (cout <

swasta:

int x;
);

kelas sampel: exforsys publik

(
publik:
sampel (void) (s1 = 0;)

void f1 (int n1)
(

s1 = n1 * 10;
)

void output (void)

(
exforsys:: output ();
cout <
)


swasta:
int s1;
);

int main (void)

(
Sampel;
sf (10);
s.output ();
; s.f1 (20);
s.output ();
}

Output dari program di atas adalah

50
200

Dalam contoh di atas, kelas turunan adalah sampel dan kelas dasar exforsys. Kelas berasal didefinisikan di atas memiliki akses ke semua publik dan swasta variabel. Kelas turunan tidak dapat memiliki akses ke dasar konstruktor kelas dan desktruktor. Kelas turunan akan dapat menambahkan fungsi-fungsi anggota baru, atau variabel, atau konstruktor baru atau desktruktor baru.Dalam contoh di atas, sampel kelas turunan memiliki fungsi anggota baru f1 () ditambahkan di dalamnya

Sampel;
menciptakan sebuah kelas turunan obyek dinamakan sebagai s. Bila ini dibuat, ruang dialokasikan untuk data anggota mewarisi dari kelas exforsys dasar dan ruang tambahan dialokasikan untuk data anggota ditetapkan dalam sampel kelas turunan.

Konstruktor kelas dasar exforsys digunakan untuk menginisialisasi anggota kelas dasar data dan konstruktor kelas turunan sampel digunakan untuk menginisialisasi data anggota didefinisikan dalam kelas turunan.


NAMA = ARIF SANYOSA
KELAS = TI2C
NIM =09530561







ENKAPSULASI

Enkapsulasi C + +

Pengenalan

Enkapsulasi adalah proses menggabungkan data dan fungsi ke dalam satu kesatuan yang disebut kelas. Dengan menggunakan metode enkapsulasi, programmer tidak dapat secara langsung mengakses data. Data hanya dapat diakses melalui fungsi ini di dalam kelas. Data enkapsulasi memunculkan konsep menyembunyikan data penting. Data menyembunyikan rincian implementasi dari sebuah kelas yang tersembunyi dari pengguna.konsep Pembatasan akses dipimpin pemrogram untuk menulis fungsi-fungsi khusus atau metode untuk melakukan operasi pada anggota tersembunyi dari kelas. Perhatian harus dibayar untuk memastikan bahwa kelas dirancang dengan baik.

Kekuatan kunci di balik Data Enkapsulasi di C + + adalah bahwa kata kunci atau penspesifikasi akses dapat ditempatkan dalam deklarasi kelas sebagai publik, dilindungi atau swasta. A class placed after the keyword public is accessible to all the users of the class. kelas A ditempatkan setelah kata kunci publik dapat diakses untuk semua pengguna kelas. The elements placed after the keyword private are accessible only to the methods of the class. Elemen-elemen ditempatkan setelah kata kunci yang swasta hanya bisa diakses oleh metode kelas. In between the public and the private access specifiers, there exists the protected access specifier. Di antara publik dan swasta akses penspesifikasi, terdapat specifier akses yang diproteksi. Elements placed after the keyword protected are accessible only to the methods of the class or classes derived from that class. Unsur ditempatkan setelah kata kunci yang dilindungi hanya dapat diakses dengan metode kelas atau kelas turunan dari kelas itu.

Konsep enkapsulasi menunjukkan bahwa fungsi non-anggota tidak dapat mengakses data sebuah objek pribadi atau dilindungi. Ini menambah keamanan, tetapi dalam beberapa kasus mungkin programmer membutuhkan fungsi yang tidak terkait untuk beroperasi pada objek dari dua kelas yang berbeda. . programmer tersebut kemudian dapat memanfaatkan konsep fungsi teman. . Enkapsulasi sendiri adalah fitur kuat yang mengarah ke menyembunyikan informasi, abstrak tipe data dan fungsi teman.


itur dan Keuntungan dari konsep Enkapsulasi:

* Membuat Aplikasi Mudah Pemeliharaan:

. aplikasi yang kompleks dan kritis sulit untuk mempertahankan.Beban sehubungan dengan pemeliharaan aplikasi lebih tinggi dibandingkan dengan mengembangkan aplikasi dengan benar. Untuk mengatasi kesulitan ini pemeliharaan, bahasa pemrograman berorientasi obyek C + + menciptakan konsep enkapsulasi yang berkas data dan fungsi-fungsi terkait bersama-sama sebagai satu kesatuan yang disebut kelas. Jadi, membuat lebih mudah pemeliharaan pada tingkat kelas.

* Meningkatkan saling pengertian Permohonan

* Enhanced Keamanan:

Ada banyak alasan untuk meningkatkan keamanan dengan menggunakan konsep Enkapsulasi di C + +. Specifier akses bertindak sebagai kekuatan kunci di balik konsep keamanan dan menyediakan akses ke anggota kelas yang diperlukan oleh pengguna.. Hal ini mencegah akses yang tidak sah. Jika aplikasi perlu diperpanjang atau disesuaikan secara bertahap kemudian pembangunan, tugas menambahkan fungsi baru menjadi lebih mudah tanpa melanggar kode yang sudah ada atau aplikasi, ada dengan memberikan keamanan tambahan untuk aplikasi yang sudah ada.

Contoh program enkapsulasi pada C++

# include
class Increment
{ public:

Increment (int c = 0, int i = 1 ); // default constructor
void addIncrement ( )
{ count += increment; }

void print ( ) const; // const member function
{ cout << "count = " << increment =" " nama =" ARIF" kelas =" TI2C" nim =" 09530561">





polymorphisme

polymorphisme pada C ++
Polimorfisme adalah kemampuan untuk menggunakan operator atau fungsi dengan cara yang berbeda.Polimorfisme memberikan arti yang berbeda atau fungsinya kepada operator atau fungsi. Poli, merujuk ke banyak, menandakan banyak kegunaan dari operator dan fungsi. . Sebuah penggunaan fungsi tunggal atau operator berfungsi dalam banyak hal bisa disebut polimorfisme. . Polimorfisme mengacu pada kode, operasi atau benda yang berperilaku berbeda dalam konteks yang berbeda.
Polimorfisme merupakan fitur kuat objek bahasa pemrograman berorientasi C + ++ 0perator tunggal perilaku yang berbeda dalam konteks yang berbeda seperti integer, float atau string merujuk konsep polimorfisme. . Konsep overloading juga merupakan cabang dari polimorfisme. When . Ketika keluar dari operator atau fungsi beroperasi pada tipe data baru ini kelebihan beban. . Fitur polimorfisme yang mengarah ke konsep metode virtual.
. Polimorfisme mengacu pada kemampuan untuk memanggil fungsi-fungsi yang berbeda dengan hanya menggunakan satu jenis panggilan fungsi Misalkan seorang programmer ingin kode kendaraan dari berbagai bentuk seperti lingkaran, bujur sangkar, segi empat, dll Salah satu cara untuk mendefinisikan masing-masing kelas. Adalah memiliki fungsi untuk setiap anggota yang membuat kendaraan dari masing-masing bentuk. . Pendekatan lain yang mudah digunakan programmer dapat mengambil adalah untuk mendefinisikan sebuah basis kelas bernama Bentuk dan kemudian membuat sebuah instance dari kelas itu.. Programer dapat memiliki array yang memegang pointer ke semua objek yang berbeda dari kendaraan diikuti oleh struktur loop sederhana untuk membuat kendaraan, sesuai bentuk yang diinginkan, dengan menyisipkan pointer ke array yang didefinisikan. Pendekatan ini mengarah ke fungsi yang berbeda dieksekusi oleh panggilan fungsi yang sama.. Polimorfisme digunakan untuk memberikan arti yang berbeda untuk konsep yang sama.. Ini adalah dasar dari implementasi fungsi Virtual.
. Dalam polimorfisme, fungsi tunggal atau operator berfungsi dalam banyak hal tergantung pada penggunaan untuk berfungsi dengan baik. Agar ini terjadi, kondisi berikut harus berlaku:
Semua kelas yang berbeda harus berasal dari kelas dasar tunggal. . Dalam contoh di atas, bentuk kendaraan (lingkaran, segitiga, persegi panjang) yang dari kelas dasar yang bernama Shape.
. Fungsi anggota harus dideklarasikan virtual di kelas dasar Dalam contoh di atas, fungsi anggota untuk membuat kendaraan harus dibuat sebagai virtual untuk kelas dasar.

Fitur dan Keuntungan dari konsep Polimorfisme:
: Aplikasi Mudah Terjulur:

. setelah aplikasi ditulis menggunakan konsep polimorfisme, dengan mudah dapat diperpanjang, menyediakan objek baru yang sesuai dengan antarmuka asli. . . Hanya menghubungkan kembali perlu menunjukkan perubahan baru bersama dengan aplikasi lama.. Ini adalah prestasi terbesar pemrograman C + + berorientasi objek. . Dalam bahasa pemrograman, selalu ada kebutuhan untuk menambahkan dan mengubah.. Dengan memanfaatkan konsep polimorfisme, waktu dan tenaga kerja berkurang di samping perawatan membuat masa depan lebih mudah.

* Helps in reusability of code. Membantu dalam usabilitas kode.
* Provides easier maintenance of applications. Menyediakan lebih mudah pemeliharaan aplikasi.
* Helps in achieving robustness in applications. Membantu dalam mencapai ketahanan dalam aplikasi.
Jenis Polimorfisme:

C + + menyediakan tiga jenis polimorfisme.

* Virtual functions Virtual fungsi
* Function name overloading Nama fungsi overloading
* Operator overloading Operator overloading

Selain di atas tiga jenis polimorfisme, terdapat jenis lain polimorfisme:

* run-time
* compile-time
* ad-hoc polymorphism
* parametric polymorphism

jenis lain polimorfisme yang didefinisikan:

run-time: run-time:
. Batas waktu polimorfisme menjalankan diimplementasikan dengan warisan dan fungsi virtual.

compile-time: waktu-kompilasi:

. Batas waktu kompilasi polimorfisme diimplementasikan dengan template.

ad-hoc polymorphism:
Jika berbagai jenis aktual yang dapat digunakan adalah terbatas dan kombinasi harus ditentukan secara individual sebelum digunakan, ini disebut-hoc polimorfisme iklan.

parametric polymorphism: parametrik polimorfisme:

Jika semua kode ditulis tanpa menyebutkan jenis spesifik dan dengan demikian dapat digunakan secara transparan dengan sejumlah jenis baru itu disebut polimorfisme parametrik.

Secara umum, ada dua kategori utama yaitu Polimorfisme

* Ad Hoc Polymorphism Ad Hoc Polimorfisme
* Pure Polymorphism Polimorfisme Murni
. konsep overloading jatuh di bawah kategori Ad Hoc Polimorfisme dan metode Virtual. Template atau kelas parametrik jatuh di bawah kategori Murni Polimorfisme.

contoh program polymorphisme C++

# Include  

#include
Menggunakan namespace std;

kelas Hewan
publik:
Hewan (const string & nama): nama (nama) ()
Pembicaraan virtual string () = 0;
const string nama;
);

class Cat : public Animal
(
publik:
Cat (const string & nama): Hewan (nama) ()
bicara virtual string () (return "Meow;!")
);

class Dog : public Animal
(
publik:
Anjing (const string & nama): Hewan (nama) ()
bicara virtual string () (return "Arf!! Arf";)
);
/ / Cetak sebagai berikut:
/ /
// Missy: Meow!
// Mr. Mistoffelees: Meow!
// Lassie: Arf! Arf!
//
int main ( )
{



Hewan * hewan [] =
{

Cat baru ("Missy"),
Cat baru ("Mr Mistoffelees"),
baru Dog ("Lassie")


for ( int i = 0 ; i <> nama <<":" < bicara () < delete animals [ i ] ; hewan menghapus [i];
}
return 0 ;
}

NAMA = ARIFSANTOSA
NIM = 09530561
KELAS = TI2C

Senin, 28 Desember 2009

perkembangan zaman era moderrn

perkembangan era modern sangat berpengaruh ter hadap perkembangan tehnologi informasi