برنامهنویسی شیگرا (OOP) در جاوا

برنامهنویسی شیگرا (OOP) در جاوا
جاوا یک زبان شیگرا (OOP) است، به این معنی که بر اساس مفاهیم شیء و کلاس طراحی شده است. در ادامه، اصول اصلی OOP در جاوا را بررسی میکنیم:
۱. کلاس و شیء
- کلاس یک الگو یا قالب برای ساخت اشیا است.
- شیء یک نمونه (Instance) از یک کلاس است.
class Car {
String brand;
int speed;
void display() {
System.out.println(brand + ” با سرعت “ + speed + ” کیلومتر در ساعت حرکت میکند.”);
}
}
public class Main {
public static void main(String[] args) {
Car myCar = new Car();
myCar.brand = “Toyota”;
myCar.speed = 180;
myCar.display();
}
}
۲. کپسولهسازی (Encapsulation)
کپسولهسازی به معنی خصوصیسازی متغیرها و ارائه متدهای عمومی (Getter و Setter) برای دسترسی به آنها است.
class Person {
private String name; // متغیر خصوصی
public String getName() { // متد دریافت مقدار (Getter)
return name;
}
public void setName(String name) { // متد تنظیم مقدار (Setter)
this.name = name;
}
}
۳. وراثت (Inheritance)
وراثت به یک کلاس اجازه میدهد ویژگیها و متدهای یک کلاس دیگر را به ارث ببرد.
class Animal {
void makeSound() {
System.out.println(“حیوان صدا تولید میکند”);
}
}
class Dog extends Animal { // کلاس Dog از Animal ارثبری میکند
void bark() {
System.out.println(“سگ پارس میکند”);
}
}
public class Main {
public static void main(String[] args) {
Dog d = new Dog();
d.makeSound(); // متد ارثبرده شده
d.bark();
}
}
۴. چندریختی (Polymorphism)
چندریختی به کلاسها اجازه میدهد متدهای یکسانی را با رفتارهای مختلف پیادهسازی کنند.
بازنویسی متد (Polymorphism در زمان اجرا – Method Overriding):
class Animal {
void makeSound() {
System.out.println(“حیوان صدا تولید میکند”);
}
}
class Cat extends Animal {
void makeSound() {
System.out.println(“گربه میو میکند”);
}
}
public class Main {
public static void main(String[] args) {
Animal myCat = new Cat(); // چندریختی
myCat.makeSound();
}
}
بارگذاری متد (Polymorphism در زمان کامپایل – Method Overloading):
class MathOperations {
int add(int a, int b) {
return a + b;
}
double add(double a, double b) {
return a + b;
}
}
۵. انتزاع (Abstraction)
انتزاع، پیادهسازی را مخفی کرده و فقط ویژگیهای ضروری را نشان میدهد.
با استفاده از کلاس انتزاعی (Abstract Class):
abstract class Vehicle {
abstract void start(); // متد انتزاعی
}
class Bike extends Vehicle {
void start() {
System.out.println(“موتور با کلید روشن میشود”);
}
}
با استفاده از رابط (Interface):
interface Animal {
void makeSound();
}
class Dog implements Animal {
public void makeSound() {
System.out.println(“سگ پارس میکند”);
}
}
دیدگاهتان را بنویسید