اصل وراثت در شی گرایی این اجازه را به برنامه نویس می‌دهد تا در کلاس جدیدی، از متدها و مشخصه‌های سایر کلاس‌ها استفاده کند. به عبارتی، کلاسی را می‌توان به عنوان کلاس فرزند تعریف کرد که مشخصه‌ها و متدهای کلاس دیگری (کلاس والد) را به ارث ببرد. بدین‌ترتیب، می‌توان از یک کلاس به دفعات در برنامه استفاده کرد که همین امر باعث می‌شود از نوشتن‌ قطعه کدهای زیاد و تکراری جلوگیری شود. همچنین، می‌توان در کلاس فرزند، مشخصه‌ها و متدهای جدیدی را ایجاد کرد که در کلاس والد وجود ندارند و فقط مختص کلاس فرزند هستند.