Difference between revisions of "JAVA: OOPS Concept"
Onnowpurbo (talk | contribs) |
Onnowpurbo (talk | contribs) |
||
Line 35: | Line 35: | ||
− | Class adalah cetak biru atau prototipe yang ditentukan pengguna dari mana object dibuat. Ini mewakili set properti atau method yang umum untuk semua object dari satu jenis. Secara umum, deklarasi kelas dapat mencakup komponen-komponen ini, dengan urutan: | + | '''Class''' adalah cetak biru atau prototipe yang ditentukan pengguna dari mana object dibuat. Ini mewakili set properti atau method yang umum untuk semua object dari satu jenis. Secara umum, deklarasi kelas dapat mencakup komponen-komponen ini, dengan urutan: |
− | * Modifiers: | + | * '''Modifiers''': Class dapat bersifat publik atau memiliki akses default. |
− | * Class name: | + | * '''Class name''': Nama harus dimulai dengan huruf besar (kapital menurut konvensi). |
− | * Superclass( | + | * '''Superclass''' (jika ada): Nama parent Class (superclass), jika ada, didahului dengan kata kunci extends. Sebuah class hanya dapat meng-extend (subclass) satu parent. |
− | * Interfaces( | + | * '''Interfaces''' (jika ada): Daftar interface yang dipisahkan koma yang diimplementasikan oleh Class, jika ada, didahului oleh implementasi keyword. Sebuah class dapat mengimplementasikan lebih dari satu interface. |
− | * Body: | + | * '''Body''': Badan Class yang dibatasi oleh kurung kurawal, { }. |
− | Object | + | '''Object''' adalah unit terkecil Object Oriented Programming dan mewakili entitas kehidupan nyata. Program Java biasanya dibentuk oleh banyak object, yang seperti yang Anda ketahui, berinteraksi dengan memanggil method. Sebuah object terdiri dari: |
− | |||
− | + | * '''State''' : Diwakili oleh atribut suatu object. Ini juga mencerminkan sifat-sifat suatu object. | |
− | * State : | + | * '''Behavior''' : It is represented by methods of an object. It also reflects the response of an object with other objects. |
− | * Behavior : It is represented by methods of an object. It also reflects the response of an object with other objects. | + | * '''Identity''' : It gives a unique name to an object and enables one object to interact with other objects. |
− | * Identity : It gives a unique name to an object and enables one object to interact with other objects. | + | * '''Method''': A method is a collection of statements that perform some specific task and return result to the caller. A method can perform some specific task without returning anything. Methods allow us to reuse the code without retyping the code. In Java, every method must be part of some class which is different from languages like C, C++ and Python. |
− | * Method: A method is a collection of statements that perform some specific task and return result to the caller. A method can perform some specific task without returning anything. Methods allow us to reuse the code without retyping the code. In Java, every method must be part of some class which is different from languages like C, C++ and Python. | ||
Method menghemat waktu dan membantu kita menggunakan kembali kode tanpa mengetik ulang kode. | Method menghemat waktu dan membantu kita menggunakan kembali kode tanpa mengetik ulang kode. |
Revision as of 13:02, 29 April 2022
Seperti namanya, Object-Oriented Programming atau OOP mengacu pada bahasa yang menggunakan objek dalam pemrograman. Pemrograman berorientasi objek bertujuan untuk mengimplementasikan entitas dunia nyata seperti inheritance, hiding, polymorphism, dll dalam pemrograman. Tujuan utama OOP adalah untuk menyatukan data dan fungsi yang beroperasi di dalamnya sehingga tidak ada bagian lain dari kode yang dapat mengakses data ini kecuali fungsi itu.
Mari kita diskusikan prasyarat dengan memoles konsep deklarasi dan passing metode. Dimulai dengan deklarasi metode, terdiri dari enam komponen:
- Access Modifier: Mendefinisikan jenis akses metode yaitu dari mana itu dapat diakses di aplikasi Anda. Di Java, ada 4 tipe penentu akses.
- public: dapat diakses di semua class di aplikasi Anda.
- protected: dapat diakses di dalam paket di mana ia didefinisikan dan di dalam subclass-nya (termasuk subclass yang dideklarasikan di luar paket)
- private: hanya dapat diakses di dalam class di mana ia didefinisikan.
- default (dideklarasikan/didefinisikan tanpa menggunakan modifier apa pun): dapat diakses di dalam class dan paket yang sama di mana class didefinisikan.
- The return type: Tipe data dari nilai yang dikembalikan oleh metode atau batal jika tidak mengembalikan nilai.
- Method Name: aturan untuk nama field berlaku untuk nama method juga, tetapi konvensinya sedikit berbeda.
- Parameter list: Daftar parameter input yang dipisahkan koma ditentukan, didahului dengan tipe datanya, di dalam kurung terlampir. Jika tidak ada parameter, Anda harus menggunakan tanda kurung kosong ().
- Exception list: Exception yang Anda harapkan dengan metode ini dapat dilemparkan, Anda dapat menentukan exception ini.
- Method body: Itu tertutup di antara kurung kurwal. Kode yang perlu Anda jalankan untuk melakukan operasi yang Anda inginkan.
- Message Passing: Objek berkomunikasi satu sama lain dengan mengirim dan menerima informasi satu sama lain. Message untuk suatu objek adalah permintaan untuk eksekusi suatu prosedur dan oleh karena itu akan memanggil fungsi di objek penerima yang menghasilkan hasil yang diinginkan. Message passing melibatkan penentuan nama objek, nama fungsi dan informasi yang akan dikirim.
Nah dengan prasyarat dasar untuk langkah pembelajaran 4 pilar OOPS adalah sebagai berikut. Mari kita mulai dengan belajar tentang karakteristik yang berbeda dari bahasa Object-Oriented Programming.
Konsep OOP adalah sebagai berikut:
- Class
- Object
- Method and method passing
- Pillars of OOPS
- Abstraction
- Encapsulation
- Inheritance
- Polymorphism
- Compile-time polymorphism
- Run-time polymorphism
Class adalah cetak biru atau prototipe yang ditentukan pengguna dari mana object dibuat. Ini mewakili set properti atau method yang umum untuk semua object dari satu jenis. Secara umum, deklarasi kelas dapat mencakup komponen-komponen ini, dengan urutan:
- Modifiers: Class dapat bersifat publik atau memiliki akses default.
- Class name: Nama harus dimulai dengan huruf besar (kapital menurut konvensi).
- Superclass (jika ada): Nama parent Class (superclass), jika ada, didahului dengan kata kunci extends. Sebuah class hanya dapat meng-extend (subclass) satu parent.
- Interfaces (jika ada): Daftar interface yang dipisahkan koma yang diimplementasikan oleh Class, jika ada, didahului oleh implementasi keyword. Sebuah class dapat mengimplementasikan lebih dari satu interface.
- Body: Badan Class yang dibatasi oleh kurung kurawal, { }.
Object adalah unit terkecil Object Oriented Programming dan mewakili entitas kehidupan nyata. Program Java biasanya dibentuk oleh banyak object, yang seperti yang Anda ketahui, berinteraksi dengan memanggil method. Sebuah object terdiri dari:
- State : Diwakili oleh atribut suatu object. Ini juga mencerminkan sifat-sifat suatu object.
- Behavior : It is represented by methods of an object. It also reflects the response of an object with other objects.
- Identity : It gives a unique name to an object and enables one object to interact with other objects.
- Method: A method is a collection of statements that perform some specific task and return result to the caller. A method can perform some specific task without returning anything. Methods allow us to reuse the code without retyping the code. In Java, every method must be part of some class which is different from languages like C, C++ and Python.
Method menghemat waktu dan membantu kita menggunakan kembali kode tanpa mengetik ulang kode. Sekarang mari kita bahas 4 pilar OOPS:
Pillar 1: Abstraction
Data Abstraction is the property by virtue of which only the essential details are displayed to the user.The trivial or the non-essentials units are not displayed to the user. Ex: A car is viewed as a car rather than its individual components. Data Abstraction may also be defined as the process of identifying only the required characteristics of an object ignoring the irrelevant details. The properties and behaviours of an object differentiate it from other objects of similar type and also help in classifying/grouping the objects. Consider a real-life example of a man driving a car. The man only knows that pressing the accelerators will increase the speed of car or applying brakes will stop the car but he does not know about how on pressing the accelerator the speed is actually increasing, he does not know about the inner mechanism of the car or the implementation of accelerator, brakes etc in the car. This is what abstraction is. In java, abstraction is achieved by interfaces and abstract classes. We can achieve 100% abstraction using interfaces.
Pillar 2: Encapsulation
It is defined as the wrapping up of data under a single unit. It is the mechanism that binds together code and the data it manipulates. Another way to think about encapsulation is, it is a protective shield that prevents the data from being accessed by the code outside this shield.
Technically in encapsulation, the variables or data of a class is hidden from any other class and can be accessed only through any member function of own class in which they are declared. As in encapsulation, the data in a class is hidden from other classes, so it is also known as data-hiding. Encapsulation can be achieved by Declaring all the variables in the class as private and writing public methods in the class to set and get the values of variables.
Pillar 3: Inheritence
Inheritance is an important pillar of OOP(Object Oriented Programming). It is the mechanism in java by which one class is allow to inherit the features(fields and methods) of another class.
Let us discuss some of frequent used important terminologies:
- Super Class: The class whose features are inherited is known as superclass(or a base class or a parent class).
- Sub Class: The class that inherits the other class is known as subclass(or a derived class, extended class, or child class). The subclass can add its own fields and methods in addition to the superclass fields and methods.
- Reusability: Inheritance supports the concept of “reusability”, i.e. when we want to create a new class and there is already a class that includes some of the code that we want, we can derive our new class from the existing class. By doing this, we are reusing the fields and methods of the existing class.
Pillar 4: Polymorphism
It refers to the ability of OOPs programming languages to differentiate between entities with the same name efficiently. This is done by Java with the help of the signature and declaration of these entities.
Note: Polymorphism in Java are mainly of 2 types:
- Overloading
- Overriding