الوقت

من الدوافع الشائعة لإنشاء نوع كائني جديد هو تغليف البيانات ذات الصلة معاً في كائن يمكن التعامل معه كعنصر واحد. لقد رأينا نوعين مشابهين لذلك، Point وRectangle.
مثال آخر، سننفذه بأنفسنا هو Time، الذي يمثل التوقيت. البيانات المغلفة في كائن الوقت هي ساعة، دقيقة، وعدد من الثواني. بما أن كل كائن Time يملك نفس البيانات هذه، نحتاج إلى متغيرات حالة لتخزينها.
الخطوة الأولى هي تحديد نوع كل متغير. من الواضح أن hour وminute يجب أن يكونا integers. ولإضافة بعض التشويق إلى العمل، دعنا نجعل متغير الثواني second من النوع double.
يتم التصريح عن متغيرات الحالة في بداية تعريف الصنف، خارج أي تعريف لأية عملية، هكذا:
كود:
class Time {
   int hour, minute;
   double second;
}
إن قطعة الشفرة هذه لوحدها، تشكل تعريفاً مشروعاً للصنف. مخطط الحالة (state diagram) لكائن Time يبدو كهذا:

http://file.topmaxtech.net/images/ph...3961843301.jpg

بعد التصريح عن متغيرات الحالة، الخطوة التالية هي تعريف بانِ للصنف الجديد.