Java nima Java dasturlash tili
Download 1.25 Mb.
|
2 5420273372074344755
- Bu sahifa navigatsiya:
- Esda tuting
- Javada Interface
abstract void funksiya();
Abstrakt metodi bor bo'lgan abstrakt classga misol: public abstract class Mashina { abstract void madeli(); abstract void mashinaTuri(); abstract void uzunligi(); abstract void rangi(); } public class Malibu extends Mashina{ @Override void madeli() { System.out.println("Chevrolet"); } @Override void mashinaTuri() { System.out.println("Malibu"); } @Override void uzunligi() { System.out.println("4.7 metr"); } @Override void rangi() { System.out.println("Qora"); } public static void main(String[] args) { Mashina mashina = new Malibu(); mashina.madeli(); mashina.mashinaTuri(); mashina.uzunligi(); mashina.rangi(); } } Natija : Chevrolet Malibu 4.7 metr Qora Yuqoridagi misolda Malibu classi abstrakt metodlari (modeli, mashinaTuri, uzunligi, rangi) bor bo'lgan Mashina abstarkt classidan nasl olayapti va uning abstrakt classi tanasini realizatsiya(Override) qilayapti. Amaliyotda abstrakt class bir nechta classlar uchun ota class vazifasini bajaradi va abstrakt metodlar turli bola classlarda turlicha realizatsiya qilinadi. Shuningdek abstrakt class konstruktor, tanasi bor metod, ma'lumotlar va hattoki main() metodga ega bo'lishi mumkin. Quyidagi misolga qarang: Esda tuting: Agar class tarkibida bitta bo'lsa ham abstarkt metod mavjud bo'lsa, class ham abstract bo'lishi kerak. Esda tuting: Agar biror class abstrakt classdan voris olsa uning barcha abstrakt metodlarini realizatsiya qilishi kerak yoki o'zi ham abstrakt class bo'lishi kerak. Javada InterfaceJavada interfeyslar orqali to'liq abstraktsiyani tashkillashtirish mumkin. Interfeys tarkibidagi metodlarning faqat nomlari bo'lishi mumkin, ularning tanasi bo'lishi mumkin emas(java 8 dan boshlab default funksiyalarga funksiyaning bajarilish qismi yozilishi qo’shildi). Shuningdek, Interfeys tarkibida ma'lumotlar bo'lishi ham mumkin. Interfayslarda o’zgaruvchilar e’lon qilinmaydi unada fqat o’zgarmas qiymatlar final qiyamtlar e’lon qilinadi. Interfacega bitta misol keltirsak. public interface Dasta { void ishlatilishSohasi(); void tayorlanganMatirial(); void size(); } Dasta nomli interface yaratildi unda ishlatilishSohasi(),tayorlanganMatirial(),size() nomli funksiyalari bor. public class Pichoq implements Dasta{ @Override
@Override public void tayorlanganMatirial() { System.out.println("Yog'och"); } @Override public void size() { System.out.println("15 sm"); } public static void main(String[] args) { Pichoq pichoq = new Pichoq(); pichoq.ishlatilishSohasi(); pichoq.tayorlanganMatirial(); pichoq.size(); } } Ko’rib turganingizdek class yaratildi va Dasta interfacidan implement olindi. Bu holatda dasta barcha dastasi bor obyektlar uchun umumiy. default funksiyaga misol : interface Formula { double calculate(int a); default double sqrt(int a) { return Math.sqrt(a); } } Formula formula = new Formula() { @Override public double calculate(int a) { return sqrt(a * 100); } }; formula.calculate(100); // 100.0 formula.sqrt(16); Esda tuting: Java kompilyatori interfeys tarkibidagi metodlarga public va abstractkalit so'zlarni, interfeys tarkibidagima'lumotlarga esa public, static va final kalit so'zlarni qo'shadi. Bir class bir vatda bir nechta interfeyslarndan foydalanishi (implementation) mumkin. Quyidagi misolga qarang: interface Printable{ Download 1.25 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling