نحن نعلم أن النمور حيوانات. إذا كانت فئة الحيوان هي الفئة الأم لفئة النمور، تجدر الإشارة إلى أنه عندما يكون النمر حيوانًا، سيفقد النمر سماته ووظائفه الفريدة. من وجهة نظر التفكير البشري، فإن القول بأن "النمر حيوان" ينتمي إلى طريقة التفكير التصاعدي، وهو مشابه لكائن التحول التصاعدي في لغة جافا.
افترض أن فئة الحيوان هي الفئة الأصلية لفئة النمر، عند استخدام فئة فرعية لإنشاء كائن ووضع مرجع هذا الكائن في كائن الفئة الأصلية، على سبيل المثال:
أنيمالا;a=newTiger();
أو
Animala;Tigerb=newTiger();a=b;
في هذا الوقت، تسمية الكائن بأنه كائن متحول للأعلى للكائن b يشبه قول "النمر حيوان". الفئة الفرعية مسؤولة عن إنشاء كيان الكائن المحوّل، لكن الكائن المحوّل إلى الأعلى سيفقد بعض سمات ووظائف الكائن الأصلي.
يتميز كائن التحويل التصاعدي بالخصائص التالية:
(1) لا يمكن للكائن الذي تم تحويله تشغيل متغيرات الأعضاء المضافة حديثًا للفئة الفرعية، ولا يمكنه استدعاء الأساليب الجديدة للفئة الفرعية.
(2) يمكن للكائن الذي تم تحويله إلى أعلى الوصول إلى متغيرات الأعضاء الموروثة أو المخفية بواسطة الفئة الفرعية، ويمكنه أيضًا استدعاء الأساليب الموروثة من الفئة الفرعية أو أساليب المثيل التي تم تجاوزها بواسطة الفئة الفرعية. يستخدم الكائن الصاعد الأساليب الموروثة من الفئة الفرعية أو أساليب المثيل التي تم تجاوزها بواسطة الفئة الفرعية، ووظيفته تعادل استدعاء هذه الأساليب على كائن الفئة الفرعية. لذلك، إذا تجاوزت فئة فرعية طريقة مثيل للفئة الأصلية، عندما يستدعي الكائن الصاعد للكائن طريقة المثيل هذه، فيجب استدعاء طريقة المثيل التي تم تجاوزها بواسطة الفئة الفرعية.
يلاحظ:
(1) لا تخلط بين الكائنات التي تم إنشاؤها بواسطة الفئة الأصل وكائنات النوع الأعلى لكائن الفئة الفرعية.
(2) قد يتم تحويل الكائن الصاعد إلى كائن فئة فرعية في هذا الوقت، ويحتوي كائن الفئة الفرعية على جميع سمات ووظائف الفئة الفرعية.
(3) لا يمكنك تعيين مراجع للكائنات التي تم إنشاؤها بواسطة الفئة الأصلية للكائنات التي تم تعريفها بواسطة الفئة الفرعية، على سبيل المثال، لا يمكنك قول "الشخص صيني".