اکنون کلاس وسیلهی چرخدار به دو زیرکلاس کارخانهی دوچرخه سازی و کارخانهی خودرو سازی تقسیم میشود.کارخانهی خودرو سازی خود به انواع کلاس خودرو تقسیم میشود و کلاس خودرو نیز میتواند به انواع زیرکلاس خودرو براساس مدل تقسیم شود مانند جیپ، تویوتا، فورد و ... یا براساس نوع کارایی به سواری، شاسی بلند، تریلر و ... تقسیم شود.
کارخانهی تولید یک مدل خودرو را میتوانیم به شکل یک کلاس بزرگ در نظر بگیریم. بدیهی است که این کارخانه شامل بخشهای کوچکتری به مانند: سیستم الکتریکی، سیستم چرخها، سیستم سوخت، سیستم خنک کننده، موتور و... میباشد؛ در این مثال هر یک از این بخشها کلاسی است که باید پیش از کلاس کارخانه ایجاد شود که البته آنها هم به جای خود میتوانند شامل کلاسهای کوچکتر دیگری باشند. از آنجا که هر کلاس توسط اشیا خود موجودیت مییابد؛ میبایست درون کلاس کارخانه نمونههایی از این کلاسهای نام برده ایجاد گردد. قرار گرفتن اشیا در ساختار کلاسی دیگر موجودیت بزرگتری را ایجاد میکند. اکنون با ایجاد هر نمونه از کلاس کارخانه، یک شی یا یک موجودیت جدید ایجاد میگردد که در درون خود شامل تمامی اشیای این کلاسها میباشد. شی حاصل از کلاس کارخانه در این مثال، یک خودرو است.
هدف این کارخانه تولید خودرو است. همهی خودرو ها یکسری ویژگیهای مشابه مانند موتور، پدال گاز، پدال ترمز، صندلی، چرخ، رنگ بدنه و ... دارند. بسته به نوع خودرو این ویژگیها میتوانند متفاوت باشند. فرض کنیم این کارخانه میخواهد خودروی سواری، شاسی بلند و تریلر تولید میکند. ابتدا باید برای هر کدام یک کلاس با نام آن کلاس ایجاد نماید. پس سه کلاس سواری، شاسی بلند و تریلر خواهیم داشت. همهی این کلاسها یکسری ویژگیهای مشابه مانند چرخ، موتور، رنگ بنده و ... دارد که در این حالت نیازی به تعریف مجدد آنها نیست و میتوان ازویژگیهای کلاس پیش استفاده نمود. فقط باید برخی از ویژگیهای متفاوت مانند ظرفیت بارگیری برای تریلر به صورت جداگانه ایجاد شود. در این حالت همهی کلاسها یک سری ویژگی را از کلاس بزرگتر به ارث میبرند که به آن وراثت (inheritance) میگویند. وراثت یکی از شکلهای «قابلیت استفاده مجدد» کد بوده که برنامهنویس را قادر میسازد تا با ارثبری صفات و متدهای یک یا چند کلاس موجود، کلاسهای جدیدی را ایجاد نماید. اگر این کارخانه بخواهد کمپرسی تولید کند این کلاس ویژگیهای مشابه هر خوردو مانند رنگ بدنه، موتور، چرخ و... را از کلاس بالاتر به ارث میبرد، میتواند ویژگی ظرفیت بارگیری را از کلاس تریلر به ارث برد و نیازی به تولید و ایجاد دوبارهی این ویژگیها نیست. فقط ویژگی بالابر برای تخلیهی بار را باید به صورت جداگانه برای این کلاس ایجاد نمود.
به هر شی کلاس، یک نمونه از آن کلاس گفته میشود و هر زمان که یک شی از کلاسی ایجاد میگردد در واقع یک نمونه از آن ساخته میشود.
به کلاسی که از آن ارثبری میشود ”Parent Class“ یا ”Base Class“ (کلاس پایه) یا ”Superclass“ و به کلاسی که اقدام به ارثبری میکند ”Child Class“ (کلاس فرزند) یا ”Derived Class“ یا ”Subclass“ گفته میشود.
ارثبری توسط «نسبت هست-یک» (IS-A Relationship) بیان میشود؛ این نسبت میگوید کلاس فرزند یک نوع از چیزی است که کلاس پایه هست. کلاس A از کلاس B ارثبری دارد؛ در این حالت میگوییم: A is a type of B، یعنی درست است اگر بگوییم: «سیب» یک نوع «میوه» است یا «خودرو» یک نوع «وسیله نقلیه» است ولی توجه داشته باشید که این یک ارتباط یکطرفه از کلاس فرزند به کلاس پایه است و نمیتوانیم بگوییم: «میوه» یک نوع «سیب» است یا «وسیله نقلیه» یک نوع «خودرو» است.
کلاسها میتوانند مستقل باشند ولی هنگامی که وارد رابطههای وراثت میشوند، یک ساختار سلسله مراتب (Hierarchy) به شکل درخت را تشکیل میدهند. برای نمونه به ساختار سلسله مراتب وراثت پایین که مربوط به برخی اشکال هندسی است توجه نمایید، پیکانها نشانگر نسبت is-a هستند.