Modul ini membahas pemrograman berorientasi objek sebagaimana dikerjakan Python. Cakupannya meliputi kelas dan objek, atribut instans versus atribut kelas, jenis metode, enkapsulasi konvensional, property, inheritance dengan super(), multiple inheritance dan MRO, dunder method, hingga dataclass. Pemahaman modul ini menopang pemakaian pustaka pihak ketiga yang hampir semuanya berbasis kelas.
Python berorientasi objek
Pemrograman berorientasi objek pada Python, dari kelas, atribut, inheritance, hingga dataclass.
0/0 selesai
- Kelas dan objek
Definisi kelas, metode __init__, parameter self, dan pembuatan instans.
- Atribut instans vs atribut kelas
Perbedaan atribut instans dan atribut kelas beserta jebakan state bersama.
- Jenis-jenis metode
Perbedaan instance method, classmethod, dan staticmethod dengan contoh kasus nyata.
- Enkapsulasi ala Python
Konvensi _protected dan __mangled serta filosofi enkapsulasi pada Python.
- Property
Decorator @property untuk atribut hasil komputasi dan validasi tanpa boilerplate.
- Inheritance dan super()
Subclassing, overriding, dan pemanggilan super() secara kooperatif.
- Multiple inheritance dan MRO
Multiple inheritance, Method Resolution Order, mixin, dan penanganan kasus diamond.
- Dunder method
Dunder method seperti __str__, __repr__, __eq__, dan __add__ untuk tipe yang Pythonic.
- Dataclass
Decorator @dataclass untuk kelas pembawa data, termasuk opsi frozen dan field.