Partial Classes

Written by 650710551 Thananton Pojanawongpanit

Partial Class ก็เหมือนกับการที่เราตัด Slime เป็นหลายๆส่วน แต่ก็สามารถนำมันกลับมารวมกันได้เป็นอันเดียวกัน

  • โดยปกติแล้ว Class ไม่สามารถใช้ชื่อ Class เดียวกันได้เนื่องจากจะทำให้เกิดข้อผิดพลาด และ เราไม่สามารถใช้ Method จาก Class เดิมได้ ถ้าเราไม่ได้ทำการ inheritance หรือ import เขามาใช้ตาม Concept ของแต่ละภาษา

  • Partial Class สามารถทำให้เราใช้ชื่อคลาสเดียวกันได้และยังสามารถใช้ Method ที่อยู่ในคลาสที่ชื่อเดียวกันได้ด้วย และ สามารถใช้ Partial class ในการแยก Class ออกเป็น 2 ไฟล์ได้แต่ว่ายังสามารถใช้ Method ที่อยู่ในชื่อคลาสเดียวกันได้โดยใช้ keyword ที่มีชื่อว่า partial โดยที่ตอน Compile ไปแล้วทั้ง 2 Class ก็จะรวมกันแล้วสามารถเรียก object มา 1 ตัวแล้วสามารถใช้งาน Method ที่มาจากทั้ง 2 Class ที่มีชื่อเหมือนกันจากทั้ง 2 ไฟล์ได้โดยมี partial เชื่อมอยู่

Keyword

Syntax

เทียบกับ Partial class ในภาษาอื่น

  • Partial class ใน ภาษา Java ไม่มีการรองรับ Partial class โดยตรงแต่สามารถใช้ interface หรือ inheritance แทนได้ แต่ว่าจะอยู่ในไฟล์เดียวกันไม่สามารถแยกไฟล์กันได้

  • Partial Class ใน ภาษา C ไม่รองรับแนวคิดแบบ OOP ส่วนใหญ่จะใช้ Struct แทน

  • Partial Class ใน ภาษา Python ไม่มีการรองรับ Partial Class โดยตรงแต่สามารถใช้การแบ่งออกเป็นหลาย Modules แล้วใช้การ import ไฟล์เข้ามาแทน หรือ จะใช้การ inheritance ก็ได้

Example

การเขียน Partial Class

C#

ไฟล์ที่ 1

ไฟล์ที่ 2

เมื่อ Compile แล้วสามารถเรียกใช้ทั้ง 2 Method ได้ใน main

Java

ใช้ Inheritance เข้ามาใช้แทน

C

ใช้ Struct เข้ามาทดแทน

Python

ใช้การแบ่ง Module

file ที่ 1

file ที่ 2

Reference

Video

Slide

Last updated