روز 2 جاوا اوه ، برنامه نمونه

برنامه نویسی شی گرا (OOP) یک الگوی برنامه نویسی است که کد را در اشیاء سازماندهی می کند و آن را مدولار ، قابل استفاده مجدد و مقیاس پذیر تر می کند. جاوا یکی از محبوب ترین زبانهای مبتنی بر OOP است. بیایید مفاهیم اصلی آن را کشف کنیم!
1 کلاس و شیء
طبقه
کلاس یک طرح برای ایجاد اشیاء است. این خصوصیات (متغیرها) و رفتارها (روشها) را تعریف می کند که اشیاء آن کلاس دارند.
class Car {
String brand;
int speed;
void display() {
System.out.println("Brand: " + brand + ", Speed: " + speed);
}
}
اعتراض
یک شیء نمونه ای از یک کلاس است. این مقادیر واقعی را برای خواص تعریف شده در کلاس نگه می دارد.
public class Main {
public static void main(String[] args) {
Car myCar = new Car(); // Creating an object
myCar.brand = "Toyota";
myCar.speed = 120;
myCar.display();
}
}
2 محاصره
محصور سازی اصل بسته بندی داده ها (متغیرها) و کد (روش ها) به یک واحد واحد و محدود کردن دسترسی مستقیم به آنها است.
class BankAccount {
private double balance;
public void deposit(double amount) {
balance += amount;
}
public double getBalance() {
return balance;
}
}
مزایای محصور سازی:
- از داده ها از دسترسی غیرمجاز محافظت می کند
- یکپارچگی داده را حفظ می کند
- قابلیت استفاده مجدد کد را بهبود می بخشد
3 ارث
وراثت به یک کلاس اجازه می دهد تا خواص و رفتارهای کلاس دیگری را به دست آورد و قابلیت استفاده مجدد را ارتقا بخشد.
class Animal {
void eat() {
System.out.println("This animal eats food.");
}
}
class Dog extends Animal {
void bark() {
System.out.println("Dog barks");
}
}
public class Main {
public static void main(String[] args) {
Dog myDog = new Dog();
myDog.eat(); // Inherited from Animal
myDog.bark(); // Defined in Dog
}
}
انواع وراثت در جاوا:
- وراث: یک کلاس از دیگری به ارث می برد.
- ارث چند سطحی: یک کلاس مشتق شده به عنوان یک کلاس پایه برای کلاس دیگر عمل می کند.
- ارث سلسله مراتبی: چندین کلاس از همان کلاس پایه به ارث می برند.
- جاوا از وراثت چندگانه پشتیبانی نمی کند (استفاده از کلاس ها) برای جلوگیری از ابهام ، اما می توان آن را با رابط ها بدست آورد.
4 چند شکل
پلی مورفیسم به روشها اجازه می دهد تا رفتارهای مختلفی را بر اساس شیء که آنها را صدا می کند ، انجام دهند.
اضافه بار روش (پلی مورفیسم زمان کامپایل)
نام روش مشابه ، پارامترهای مختلف.
class MathOperations {
int add(int a, int b) {
return a + b;
}
double add(double a, double b) {
return a + b;
}
}
روش اصلی (پلی مورفیسم زمان اجرا)
کلاس کودک یک اجرای خاص از یک روش از کلاس والدین را ارائه می دهد.
class Parent {
void show() {
System.out.println("Parent's show method");
}
}
class Child extends Parent {
@Override
void show() {
System.out.println("Child's show method");
}
}
5 انتزاع
انتزاع جزئیات اجرای را پنهان می کند و فقط عملکرد لازم را در معرض دید قرار می دهد.
کلاس انتزاعی
abstract class Vehicle {
abstract void start(); // Abstract method
}
class Bike extends Vehicle {
void start() {
System.out.println("Bike is starting...");
}
}
رابط
رابط قراردادی را تعریف می کند که کلاس ها باید از آن پیروی کنند.
interface Animal {
void makeSound(); // Abstract method
}
class Cat implements Animal {
public void makeSound() {
System.out.println("Meow!");
}
}
تفاوت های کلیدی: کلاس انتزاعی در مقابل رابط
نشان | کلاس انتزاعی | رابط |
---|---|---|
روش | می تواند هر دو روش انتزاعی و بتونی داشته باشد | فقط روشهای انتزاعی (تا جاوا 8) |
متغیرها | می تواند متغیرهای نمونه داشته باشد | فقط ثابت (نهایی ، استاتیک) |
ارث | وراث | وراثت چندگانه |
پایان
اصول برنامه نویسی شی گرا (OOP) جاوا در طراحی برنامه های مقیاس پذیر ، قابل استفاده مجدد و قابل نگهداری کمک می کند
در اینجا نمونه برنامه جاوا
اشتباهات و اصلاحات رایج
1 نام کلاس اشتباه
اگر پرونده شما نامگذاری شده است Hello.java
، نام کلاس باید بودن Hello
بشر
❌ اشتباه:
public class HelloWorld { // Class name does not match the filename
public static void main(String[] args) {
System.out.println("Hello, Java!");
}
}
✅ رفع:
برای مطابقت با نام پرونده ، کلاس را تغییر نام دهید یا تغییر نام پرونده به HelloWorld.java
بشر
2. گمشده main
روش
دستگاه مجازی جاوا (JVM) به main
روش اجرای برنامه.
❌ اشتباه:
public class Hello {
// No main method
}
✅ رفع:
اضافه کردن main
روش:
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, Java!");
}
}
3. نادرست main
امضای روش
در main
روش باید باشد public
با static
، و String[] args
بشر
❌ اشتباه:
public class Hello {
void main() { // Missing 'public static' and incorrect parameters
System.out.println("Hello, Java!");
}
}
✅ رفع:
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, Java!");
}
}
4. نیمه رنگ آمیزی (;
)
اظهارات جاوا باید با یک رنگ به پایان برسد.
❌ اشتباه:
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, Java!") // Missing semicolon
}
}
✅ رفع:
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, Java!");
}
}
5. اشتباهات تلفیقی و اعدام
اگر پرونده شما است Hello.java
، کامپایل کنید و به درستی اجرا کنید:
javac Hello.java # Compile
java Hello # Run (without .class or .java)
اگر دویدید:
java Hello.java # ❌ Wrong
خطایی مانند:
Error: Could not find or load main class Hello.java