TypeScript-এ OOP বিমূর্ত ক্লাস

কিছু পরিস্থিতি আছে যেখানে আমাদের একটি প্যারেন্ট ক্লাস থাকে, যাতে সাধারণ বৈশিষ্ট্য এবং পদ্ধতি থাকে, এবং এটি থেকে চাইল্ড ক্লাসগুলি উত্তরাধিকার সূত্রে প্রাপ্ত হয়।

একই সময়ে, এটি এমন হতে পারে যে আমরা চাইল্ড ক্লাসের অবজেক্ট তৈরি করব, কিন্তু প্যারেন্ট ক্লাসের নয়। এটি আমাদের শুধুমাত্র প্রয়োজন সাধারণ বৈশিষ্ট্য এবং পদ্ধতি গোষ্ঠীবদ্ধ করার জন্য।

এই ক্ষেত্রে, প্যারেন্ট ক্লাসের অবজেক্ট তৈরি করা স্পষ্টভাবে নিষিদ্ধ করতে, আমরা এটিকে বিমূর্ত হিসাবে ঘোষণা করতে পারি। এটি abstract কীওয়ার্ড ব্যবহার করে করা হয়।

আসুন একটি উদাহরণ দেখি। আমাদের User ক্লাসটি নেওয়া যাক এবং এটিকে বিমূর্ত হিসাবে ঘোষণা করা যাক:

typescriptabstract class User {
  public name: string;
  
  constructor(name: string) {
    this.name = name;
  }
}

আসুন একটি Student ক্লাস তৈরি করি, যা User থেকে উত্তরাধিকার সূত্রে প্রাপ্ত:

typescriptclass Student extends User {
  public course: number;

  constructor(name: string, course: number) {
    super(name);
    this.course = course;
  }
}

আসুন একটি Employee ক্লাস তৈরি করি, যা User থেকে উত্তরাধিকার সূত্রে প্রাপ্ত:

typescriptclass Employee extends User {
  public salary: number;

  constructor(name: string, salary: number) {
    super(name);
    this.salary = salary;
  }
}
Задание 1

একটি বিমূর্ত ক্লাস Figure তৈরি করুন, যা একটি জ্যামিতিক আকৃতির প্রতিনিধিত্ব করে। এতে পরিসীমা এবং ক্ষেত্রফলের জন্য বৈশিষ্ট্য থাকতে দিন।

Задание 2

Figure ক্লাস থেকে উত্তরাধিকার সূত্রে প্রাপ্ত একটি Square ক্লাস তৈরি করুন।

Задание 3

Figure ক্লাস থেকে উত্তরাধিকার সূত্রে প্রাপ্ত একটি Rectangle ক্লাস তৈরি করুন।