
Java - Metod (Sinf/Class)
O’tgan darslarimizdan birida Java dasturlash tilida funksiyalar (metodlar) ni o’rgangan edik. Quyidagi havola orqali darsni ko’rishingiz mumkin: https://uzbekdevs.uz/darsliklar/java/java-da-funksiya
Bu darsimizda metodlarni OOP nuqtai nazari bilan ko’rib chiqamiz. Quyidagi misolda metodga oddiy misol keltirilgan:
public class Main { static void metod() { System.out.println("Salom dunyo!"); } public static void main(String[] args) { metod(); // Salom dunyo } }
Java dasturlarda static va public kalit so’zlar bilan yozilgan o’zgaruvchi va metodlarga ko’p duch kelamiz. Static metodlar sinfning o’ziga tegishli hisoblanadi va obyekt yaratmasdan foydalanish mumkin bo’ladi, vaholanki public metodlarga faqatgina obyekt yaratish orqali murojaat qilinadi. Quyida buning isbotini ko’rishingiz mumkin:
public class Main { // Static metod static void staticMetod() { System.out.println("Bu static metod"); } // Public metod public void publicMetod() { System.out.println("Bu public metod"); } // Main metod public static void main(String[] args) { staticMetod(); // static metod chaqirildi Main object = new Main(); // Main sinfidan obyekt yaratildi object.publicMetod (); // obyekt orqali public metod chaqirildi } }
Konsulga quyidagi xabarlar chiqariladi:
Bu static metod Bu public metod
Keyingi misolda obyektlar orqali metodlarni chaqirishni o’rganamiz:
// Main class yaratish public class Main { // tormoz() metodini yaratish public void tormoz() { System.out.println("Mashina to’xtadi"); } // tezlikniOshirish() metodini yaratish public void tezlikniOshirish(int tezlik) { System.out.println("Mashina tezligi " + tezlik); } // main() metodi public static void main(String[] args) { Main mashina = new Main(); // mashina nomli obyekt yaratish mashina.tormoz(); // tormoz() metodini chaqirish mashina.tezlikniOshirish(200); // tezlikniOshirish() metodini oshirish } }
Konsul:
Mashina to’xtadi Mashina tezligi 200
OOP dasturlash tillarida odatda dastur funksiyalari ko’plab sinflarga taqsimlanib yoziladi. Biz ham 3 sinfdan va turli metodlardan iborat kichik bir dastur yozib ko’ramiz:
public class Main { public static void main(String[] args) { Talaba.salom(); Ustoz.alik(); Ustoz ustoz = new Ustoz(); ustoz.vazifaniSorash(); Talaba talaba = new Talaba(); talaba.uygaVazifa(109); } } class Talaba{ static void salom(){ System.out.println("Assalomu alaykum ustoz"); } public void uygaVazifa(int mashq){ System.out.println("Uyga vazifa " + mashq + "-mashq edi."); } } class Ustoz{ static void alik(){ System.out.println("Va alaykum assalom"); } public void vazifaniSorash(){ System.out.println("Uyga vazifa nima edi?"); } }
Konsulga chiqqan xabarlarni ko’zdan kechiring va kodni tushunishga harakat qiling:
Assalomu alaykum ustoz Va alaykum assalom Uyga vazifa nima edi? Uyga vazifa 109-mashq edi.