Object Class
อารยา ถาวรสิริจรัส 650710594
Object class เป็นคลาสพื้นฐานสำหรับทุกคลาสคลาสใน .NET Framework ซึ่งใน namespace จะมีชื่อว่า System โดยมีชื่อเต็มว่า System.object ซึ่งทุกคลาสในภาษา C# จะถูกสืบทอดทั้งทางตรงหรือทางอ้อมจาก object class ถ้าคลาสไหนไม่มีการ extend จากคลาสอื่นมันก็จะกลายเป็นคลาสลูกของ object class แต่ถ้ามีการ extend กับคลาสอื่นก็จะเป็นการสืบทอดทางอ้อม

C# จะมีข้อมูล 2 ประเภท คือ
Reference types Reference types จะสืบทอดจาก object class ได้ทั้งทางตรงหรือทางอ้อมผ่าน Reference types อื่นๆ
Value types ซึ่ง Value types จะสืบทอด object class ทางอ้อมผ่าน System.ValueType
เมธอดในคลาส Object ของ C#
Object ของ C# Equals(Object):
ตรวจสอบว่า object ที่ระบุเท่ากับ object ปัจจุบันมั้ย
Equals(Object, Object):
ตรวจสอบว่า object ทั้งสองที่ระบุมีค่าเท่ากันมั้ย
Finalize():
อนุญาตให้ object พยายามปล่อยทรัพยากรและทำการทำความสะอาดก่อนที่จะถูกจัดการโดย garbage collector
GetHashCode():
ทำหน้าที่เป็นฟังก์ชันแฮชเริ่มต้น
GetType():
คืนค่า Type ของอ็อบเจ็กต์ปัจจุบัน
ReferenceEquals(Object, Object):
ตรวจสอบว่า object ทั้งสองที่ระบุเป็น object เดียวกันมั้ย
ToString():
คืนค่าข้อความที่แสดงถึง object ปัจจุบัน
Example
จากโค้ด ได้สร้าง class Work Item ซึ่งเป็น class ที่สืบทอดมาจาก System.Object โดยอัตโนมัติซึ่งเราไม่จำเป็นต้องเขียน :System.object ไว้ก็ได้ ซึ่ง class นี้มีเมธอด Greet() ต่อมาสร้าง class dog เป็น class ChangeRequest ที่ สืบทอดมาจาก class WorkItem มีการใช้ tostring() ซึ่งเป็นเมธอดในคลาส Object
เปรียบเทียบ Object class ใน ภาษา C# C++ Java Python
ในภาษาpython การสืบทอดจาก object class จะมีการใส่ (object) ตามหลังชื่อ class อย่างเช่น class Person(object) ถึงจะสามารถเรียกใช้ฟังก์ชันของ object class ได้ ส่วนในภาษา Java C# และ C++ จะสืบทอดโดยอัตโนมัติ เช่น java => class bicycle สืบทอดมาจาก java.lang.Object และมีการใช้ tostring() เป็นการแสดงถึงการใช้งานฟังก์ชันจาก object class C# => class Vehicle สืบทอดมาจาก System.Object ส่วน C++ class Parent สืบทอดมาจาก object class โดยอัตโนมัติ ทำให้มีสมบัติเป็น object class อยู่แล้ว
Output
Tuut, tuut! Ford Mustang
Slide Presention
Video Presentation
Reference
Last updated
