สายที่นี่ แต่ฉันต้องการที่จะพยายามสร้างคำนิยามที่แม่นยำ: ฟังก์ชั่นคงที่เป็นฟังก์ชั่นที่ไม่ได้หรือไม่สามารถอ้างอิงคุณสมบัติ / วิธีการอินสแตนซ์ของชั้นเรียนที่มี
ในบางภาษาเช่น C # อาจมีสแตติกฟิลด์หรือคุณสมบัติในคลาสสแตติกดังนั้นจึงไม่ถูกต้องที่จะบอกว่าพวกเขาไม่ได้ใช้สำหรับสถานะ ฟังก์ชั่นคงอาจใช้ประโยชน์จากสถานะคงที่ (ทั่วโลก)
โดยทั่วไปมันจะเดือดลงไปที่: ฟังก์ชั่นคงที่เช่นเดียวกับสิ่งคงที่มีประโยชน์เมื่อมันทำให้รู้สึกว่าพวกเขาจะสามารถใช้ได้เสมอโดยไม่ต้องพึ่งพาอินสแตนซ์ที่ไม่คงที่
ฟังก์ชันตัวช่วยเช่นฟังก์ชั่นคณิตศาสตร์เป็นตัวอย่างที่มีประโยชน์
หากคลาสที่คุณสร้างต้องการให้ข้อมูลไม่เปลี่ยนรูปแบบมันอาจสมเหตุสมผลในการสร้างฟังก์ชั่นสแตติกที่รับอินสแตนซ์และส่งผ่านอินสแตนซ์ใหม่เนื่องจากอินสแตนซ์ไม่สามารถเปลี่ยนได้ (หรือไม่ควร) ตัวอย่างเช่นคลาสสตริอาจมีฟังก์ชั่นคงที่ที่ใช้ในสตริง (หรือ 2 หรือมากกว่า) และส่งกลับสตริงใหม่
อีกเหตุผลหนึ่งอาจเป็นเพราะมีคลาสที่เก็บสถานะโลกหรือข้อมูลบางชนิด อาจมีฟังก์ชั่นสแตติกที่ทำงานกับคุณสมบัติสแตติกหรือฟิลด์ในคลาสสแตติกนั้น