Interface mendefinisikan kontrak perilaku tanpa mengikat implementasi. Kode yang bergantung pada interface menjadi fleksibel: implementasi bisa diganti tanpa mengubah pemanggil. Section ini membahas interface dari dasar hingga pola desain yang menjadikannya alat abstraction paling sering dipakai di C#.
Pelajari aturan mendefinisikan interface di C#: member yang boleh ditulis, akses implisitnya, dan status interface sebagai sebuah tipe.
Buka → # Mengimplementasikan InterfacePelajari cara class menepati kontrak interface: mengisi seluruh member, memakai implementasi lewat tipe interface, dan galat bila ada member yang tertinggal.
Buka → # Interface SegregationPelajari prinsip interface segregation: memecah kontrak yang menggabungkan terlalu banyak kemampuan agar class hanya mengisi member yang benar-benar dipakai.
Buka → # Multiple Interface ImplementationPelajari cara satu class mengimplementasikan beberapa interface sekaligus dan mengekspos object yang sama melalui beberapa sudut pandang kontrak.
Buka → # Interface InheritancePelajari cara interface mewarisi interface lain untuk menambah kemampuan baru tanpa mengubah kontrak lama yang sudah dipakai banyak class.
Buka → # Explicit ImplementationPelajari cara menyelesaikan benturan member dengan nama sama dari dua interface menggunakan explicit implementation.
Buka → # Default Interface MethodsPelajari cara memberi badan bawaan pada member interface sehingga class lama tidak wajib mengisi method yang baru ditambahkan.
Buka → # Abstract Class vs InterfacePelajari perbedaan pokok abstract class dan interface beserta cara memadukan keduanya dalam satu hierarki metode pembayaran.
Buka → # Programming to InterfacePelajari prinsip programming to interface: mengganti ketergantungan pada class konkret dengan ketergantungan pada kontrak agar kode mudah diperluas.
Buka → # Abstraction dalam DesainRangkum seluruh materi section ini menjadi keputusan desain nyata: menyusun kontrak yang tepat dan membangun alur checkout yang fleksibel.
Buka →