এই পোস্টে আমরা 'Extends' এবং 'Implements' কীওয়ার্ডের পার্থক্য বুঝব।
Extends
- এটি ব্যবহার করে একটি ক্লাসকে বেস ক্লাস হিসেবে ব্যবহার করা যায় এবং অন্য ক্লাস এই বেস ক্লাস ইনহেরিট করে।
- একটি ইন্টারফেসও এই কীওয়ার্ড ব্যবহার করে অন্য ইন্টারফেস ইনহেরিট করতে পারে।
- এক ক্লাস শুধু একটি সুপারক্লাস এক্সটেন্ড করতে পারে।
- এক ইন্টারফেস যেকোনো সংখ্যক ইন্টারফেস এক্সটেন্ড করতে পারে।
- সাবক্লাসকে (যে সুপারক্লাস এক্সটেন্ড করে) সুপারক্লাসের সব মেথড ওভাররাইড করা বাধ্যতামূলক নয়।
extends কীওয়ার্ডের উদাহরণ:
class Super { ..... ..... }
class Sub extends Super { ..... ..... }
Implements
- এই কীওয়ার্ড একটি ক্লাসকে ইন্টারফেস ইমপ্লিমেন্ট করতে সাহায্য করে।
- এক ক্লাস একই সাথে যেকোনো সংখ্যক ইন্টারফেস ইমপ্লিমেন্ট করতে পারে।
- এক ক্লাসকে (যে ইন্টারফেস ইমপ্লিমেন্ট করে) সে নির্দিষ্ট ইন্টারফেসের সব মেথড ইমপ্লিমেন্ট করা বাধ্যতামূলক।
- এটি কখনো অন্য ইন্টারফেস ইমপ্লিমেন্ট করতে ব্যবহার করা যায় না।
implements কীওয়ার্ডের উদাহরণ:
public interface Animal { }
public class Mammal implements Animal { }
public class Dog extends Mammal { }