Ob'ektga yo'naltirilgan dasturlash (OOP) — bu dasturlash paradigmasi bo'lib, u ob'ektlar va ularning o'zaro aloqalariga asoslanadi. OOPning asosiy maqsadi dastur tuzilmasini ob'ektlar orqali tashkil etishdir. OOPda dastur turli ob'ektlar to'plamidan iborat bo'lib, har bir ob'ekt ma'lum bir sinf (class) asosida yaratiladi.
Misol:
public class Car {
String model;
int year;
public void start() {
System.out.println("Car is starting...");
}
}
OOPning asosiy tushunchalari:
Java'da funksiyalar (metodlar) sinfning ichidagi amallarni bajarish uchun ishlatiladi. Java'da metodlar yordamida biror vazifani bajarish yoki qiymatni qaytarish mumkin.
Misol:
public class Calculator {
// Metod: ikki sonni qo'shish
public int add(int a, int b) {
return a + b;
}
// Metod: ikki sonni ayirish
public int subtract(int a, int b) {
return a - b;
}
// Metod: qiymat qaytarmas
public void printMessage(String message) {
System.out.println(message);
}
}
Metod e'lon qilishda uning quyidagi tarkibiy qismlari mavjud:
Misol:
public class Test {
public static void main(String[] args) {
Calculator calc = new Calculator(); // Calculator ob'ektini yaratish
int sum = calc.add(10, 20); // add metodini chaqirish
System.out.println("Sum: " + sum); // 30
calc.printMessage("Hello, world!"); // printMessage metodini chaqirish
}
}
Metodga qiymat uzatish uchun parametrlar ishlatiladi. Java'da metodga qiymat uzatishda pass-by-value (qiymat orqali uzatish) prinsipiga amal qilinadi, ya'ni metod ichida o'zgartirilgan qiymatlar tashqarida ta'sir qilmaydi.
Polimorfizm — bu bir xil metod yoki interfeysning turli shakllarda ishlashi tamoyilidir. Java'da polimorfizm metodlarni o'zgarishi yoki interfeyslarni amalga oshirishi orqali amalga oshiriladi.
Misol:
class Animal {
void sound() {
System.out.println("Animal makes a sound");
}
}
class Dog extends Animal {
void sound() {
System.out.println("Dog barks");
}
}
public class Test {
public static void main(String[] args) {
Animal animal = new Animal(); // Animal ob'ekti
Animal dog = new Dog(); // Dog ob'ekti
animal.sound(); // Animal makes a sound
dog.sound(); // Dog barks
}
}