Qarshi filiali «kompyuter injineringi»
Download 85.31 Kb.
|
mustaqil ish dasturlash
abstract class A{
}
Abstrakt klasslar odatda super(ota) klaslar yaratishda ishlatiladi. Abstract klasslardan yaratilayotgan klasslarimizni sxemasni ya’ni skletini yaratishda foydlaniladi. Abstract klassimizda undan meros oladigan klasslar uchun umumiy bo’lgan funksiyalar, konstantlar, o’zgaruvchilar e’lon qilinadi. Tanasi (implementation) yozilmagan va abstract kalit so’zi bilan yaratilgan funksiya — abstrakt funksiya deyiladi. abstract void funksiya(); Abstrakt funksiyasi bor bo’lgan abstrakt klassga 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 klassi abstrakt funksiyalari (modeli, mashinaTuri, uzunligi, rangi) bor bo’lgan Mashina abstarkt klassidan nasl olayapti va uning abstrakt klassi tanasini realizatsiya(Override) qilayapti. Amaliyotda abstrakt klass bir nechta klasslar uchun ota klass vazifasini bajaradi va abstrakt funksiyalar turli bola klasslarda turlicha realizatsiya qilinadi. Shuningdek abstrakt klass konstruktor, tanasi bor funksiya, ma’lumotlar va hattoki main() funksiyaga ega bo’lishi mumkin. Quyidagi misolga qarang: Agar klass tarkibida bitta bo’lsa ham abstarkt funksiya mavjud bo’lsa, klass ham abstract bo’lishi kerak Agar biror klass abstrakt klassdan voris olsa, uning barcha abstrakt funksiyalar ini realizatsiya qilishi kerak yoki o’zi ham abstrakt klass bo’lishi kerak. Abstrakt sinfga o'xshab, interface - interfeysni meros qilib oladigan sinflar uchun blueprint ni belgilash uchun yaratilinadi. Interfeysda abstrakt metodlar bo'lmaydi ammo hech qanday definition(ta'rif)siz public metodlar mavjud bo'ladi va interfeysni meros qilib oluvchi sinflar bilan, interfeys ichida e'lon qilinadigan metodlarga definition kiritilishi kerak bo'ladi. Download 85.31 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling