وراثت یا ارث بری (Inheritance) از مفاهیم اساسی برنامهنویسی شیءگراست. هر شیء یک نمونه از یک کلاس است و هر کلاس میتواند از کلاس یا کلاسهای دیگری مشتق شده باشد (خواص متدها یا رویدادهای کلاسهای دیگر را به ارث ببرد). در یک مثال ساده میتوان اتومبیلی را در نظر گرفت که برای جلوگیری از بازنویسی خواص عمومی اتومبیل شامل: چهار چرخ، متدهای حرکت چرخ، متد چرخاندن فرمان، فرمان، بدنه، در و غیره، میتوان یک کلاس پایه از اتومبیل ایجاد کرد سپس مثلاً برای اتومبیل سیتروئن مدل C۵ یک کلاس جدید ایجاد کرده که خواص، متدها و رویدادهای عمومی اتومبیل را داشته باشد و فقط برای خواص، متدها و رویدادهای جدید این اتومبیل کد نوشته شود. این ویژگی باعث صرفهجویی در نوشتن کد و تا حدودی تضمین صحت کد موجود میشود. به عنوان مثال اگر کلاس پایه مشکلی داشته باشد فقط کافی است کلاس پایه تغییر داده شود و در تمامی کلاسهایی که از این کلاس پایه ویژگیای ا به ارث بردهاند این تغییر اعمال خواهد شد