Abstrakt sinflar tashkil etish va ulardan foydalanish usullari Abstract
Download 16.03 Kb.
|
Abstrakt sinflar tashkil etish va ulardan foydalanish usullari
Abstrakt sinflar tashkil etish va ulardan foydalanish usullari Abstract kalit so'zi bilan yaratilgan sinflar abstrakt sinflar deb nomlanadi. Abstract sinflar abstakt metodlar (tanasi yozilmagan metod) yoki abstrakt bo'lmagan metodlardan (tanasi yozilgan metod) tashkil topgan bo'ladi. Abstrakt class quyidagicha e'lon qilinadi: abstract class A{} Tanasi (implementation) yozilmagana va abstract kalit so'zi bilan yaratilgan metod — abstrakt metod deyiladi. abstract void funksiya(); // tanasi yo'q va asbtrakt Abstrakt metodi bor bo'lgan abstrakt classga misol: abstract class Motosikl{ abstract void run(); }
class Honda extends Motosikl{ void yurmoq(){System.out.println("Yurmoqda...");} public static void main(String args[]){ Motosikl obj = new Honda(); obj.yurmoq(); }
} Natija:
Yurmoqda... Yuqoridagi misolda Honda classi bitta abstrakt metodi (yurmoq) bor bo'lgan Motosikl abstarkt classidan nasl olayapti va uning abstrakt classi tanasini realizatsiya qilayapti. Amaliyotda abstrakt class bir nechta sinflar uchun ota class vazifasini bajaradi va abstrakt metodlar turli bola sinflarda turlicha realizatsiya qilinadi. Shuningdek abstrakt class konstruktor, tanasi bor metod, ma'lumotlar va hattoki main() metodga ega bo'lishi mumkin. Quyidagi misolga qarang: abstract class Motosikl{ Motosikl(){System.out.println("Motosikl yaratildi");} abstract void yurmoq(); void tezlikOshirish(){System.out.println("tezlik oshirildi");} }
class Honda extends Motosikl{ void yurmoq(){System.out.println("yurmoqda...");} }
public static void main(String args[]){ Motosiklobj = new Honda(); obj.yurmoq(); obj.tezlikOshirish(); } }
Motosikl yaratildi yurmoqda... tezlik oshirildi 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. Download 16.03 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling