คุณสามารถใช้ วิธีคลาสสำหรับเมธอดใดๆ ที่ไม่ได้ผูกกับอินสแตนซ์เฉพาะแต่คลาส ในทางปฏิบัติ คุณมักจะใช้เมธอดของคลาสสำหรับเมธอดที่สร้างอินสแตนซ์ของคลาส อย่างไรก็ตาม เมื่อเมธอดสร้างอินสแตนซ์ของคลาสและส่งคืน เมธอดจะเรียกว่าเมธอดของโรงงาน
ทำไมเราถึงใช้ class method ใน Python
คลาส Python ให้คุณสมบัติมาตรฐานทั้งหมดของ Object Oriented Programming: กลไกการสืบทอดคลาสช่วยให้คลาสพื้นฐานได้หลายคลาส คลาสที่ได้รับสามารถแทนที่เมธอดใดๆ ของ คลาสหรือคลาสพื้นฐาน และ method สามารถเรียก method ของ base class ที่มีชื่อเดียวกันได้
วิธีการเรียนมีไว้เพื่ออะไร
เมธอดของคลาสคือ เมธอดที่ถูกเรียกในคลาสแทนที่จะเป็นอินสแตนซ์ โดยทั่วไปจะใช้เป็นส่วนหนึ่งของ meta-model ของอ็อบเจ็กต์ กล่าวคือ สำหรับแต่ละคลาส มีการสร้างอินสแตนซ์ของคลาสอ็อบเจ็กต์ใน meta-model โปรโตคอล Meta-model อนุญาตให้สร้างและลบคลาสได้
ฉันควรใช้วิธีการคงที่ใน Python เมื่อใด
ข้อดีของวิธีคงที่ Python
- หากคุณไม่ต้องการเข้าถึงแอตทริบิวต์หรือวิธีการของคลาสหรืออินสแตนซ์ staticmethod จะดีกว่า classmethod หรือ instancemethod …
- ลายเซ็นการโทรของ staticmethod เหมือนกับ classmethod หรือ instancemethod นั่นคือ.
วิธีเรียนกับสแตติกต่างกันอย่างไรวิธี?
A วิธีคลาสสามารถเข้าถึงหรือแก้ไขสถานะคลาสได้ ในขณะที่วิธีสแตติกไม่สามารถเข้าถึงหรือแก้ไขได้ โดยทั่วไป เมธอดสแตติกไม่รู้อะไรเกี่ยวกับสถานะของคลาส เป็นวิธีการประเภทยูทิลิตี้ที่ใช้พารามิเตอร์บางตัวและทำงานกับพารามิเตอร์เหล่านั้น ในทางกลับกัน วิธีการเรียนต้องมีคลาสเป็นพารามิเตอร์