Object Class

อารยา ถาวรสิริจรัส 650710594

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

C# จะมีข้อมูล 2 ประเภท คือ

  1. Reference types Reference types จะสืบทอดจาก object class ได้ทั้งทางตรงหรือทางอ้อมผ่าน Reference types อื่นๆ

  2. Value types ซึ่ง Value types จะสืบทอด object class ทางอ้อมผ่าน System.ValueType

เมธอดในคลาส Object ของ C#

  1. Equals(Object):

  • ตรวจสอบว่า object ที่ระบุเท่ากับ object ปัจจุบันมั้ย

  1. Equals(Object, Object):

  • ตรวจสอบว่า object ทั้งสองที่ระบุมีค่าเท่ากันมั้ย

  1. Finalize():

  • อนุญาตให้ object พยายามปล่อยทรัพยากรและทำการทำความสะอาดก่อนที่จะถูกจัดการโดย garbage collector

  1. GetHashCode():

  • ทำหน้าที่เป็นฟังก์ชันแฮชเริ่มต้น

  1. GetType():

  • คืนค่า Type ของอ็อบเจ็กต์ปัจจุบัน

  1. ReferenceEquals(Object, Object):

  • ตรวจสอบว่า object ทั้งสองที่ระบุเป็น object เดียวกันมั้ย

  1. 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

Slide Presention

Video Presentation

Reference

ใช้ในการศึกษาโค้ดและการทำงาน python
ใช้ศึกษาโค้ดและการทำงานของ java

ใช้ศึกษาโค้ดและการทำงานของ C++
ใช้ศึกษาความหมาย การทำงานและโค้ดของ C#

Last updated