কম্পিউটার টিউটোরিয়াল

জাভাতে কোনো অ্যাবস্ট্রাক্ট মেথড ছাড়া অ্যাবস্ট্রাক্ট ক্লাস ডিফাইন করা যায় কিনা?


হ্যাঁ, জাভাতে কোনো অ্যাবস্ট্রাক্ট মেথড ছাড়া অ্যাবস্ট্রাক্ট ক্লাস ডিক্লেয়ার করা যায়।

  • একটি অ্যাবস্ট্রাক্ট ক্লাস মানে ইমপ্লিমেন্টেশন লুকিয়ে ফাংশন ডেফিনিশন ইউজারকে দেখানো।
  • একটি অ্যাবস্ট্রাক্ট ক্লাস-এ অ্যাবস্ট্রাক্ট মেথড এবং নন-অ্যাবস্ট্রাক্ট মেথড দুটোই থাকতে পারে।
  • একটি অ্যাবস্ট্রাক্ট ক্লাস-এর জন্য, আমরা সরাসরি অবজেক্ট তৈরি করতে পারি না। কিন্তু ইনডায়রেক্টলি সাবক্লাস অবজেক্ট ব্যবহার করে অবজেক্ট তৈরি করতে পারি।
  • একটি জাভা অ্যাবস্ট্রাক্ট ক্লাস-এ ইনস্ট্যান্স মেথড থাকতে পারে যা ডিফল্ট বিহেভিয়ার ইমপ্লিমেন্ট করে।
  • একটি অ্যাবস্ট্রাক্ট ক্লাস একবারে শুধু একটি ক্লাস বা একটি অ্যাবস্ট্রাক্ট ক্লাস এক্সটেন্ড করতে পারে।
  • একটি ক্লাসকে abstract ডিক্লেয়ার করা কিন্তু কোনো অ্যাবস্ট্রাক্ট মেথড না থাকলে এর মানে আমরা সেটিকে নিজস্বভাবে ইনস্ট্যানশিয়েট করার অনুমতি দিচ্ছি না।
  • জাভাতে অ্যাবস্ট্রাক্ট ক্লাস ব্যবহার করা ইন্ডিকেট করে যে আমরা সরাসরি ক্লাসের অবজেক্ট তৈরি করতে পারব না।

উদাহরণ

abstract class AbstractDemo { // Abstract class
    private int i = 0;
    public void display() { // non-abstract method
        System.out.print("Welcome to Tutorials Point");
    }
}
public class InheritedClassDemo extends AbstractDemo {
    public static void main(String args[]) {
        AbstractDemo demo = new InheritedClassDemo();
        demo.display();
    }
}

উপরোক্ত উদাহরণে, AbstractDemo ক্লাসে কোনো অ্যাবস্ট্রাক্ট মেথড ডিফাইন করা হয়নি। কম্পাইলার কোনো কম্পাইল-টাইম এরর থ্রো করে না।

আউটপুট

Welcome to Tutorials Point
  1. জাভাতে Enum কি কোনো ক্লাস এক্সটেন্ড করতে পারে?

  2. জাভাতে এক ট্রাই ব্লকে একাধিক ক্যাচ ব্লক ব্যবহার করা যায় কি?

  3. জাভাতে অ্যাবস্ট্রাক্ট ক্লাস

  4. জাভা ArrayList মাস্টার করুন: অপরিহার্য মেথড ও প্র্যাকটিক্যাল উদাহরণ