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:
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
}
}
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: