User Tools

Site Tools


tutorial:record

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
tutorial:record [2019/01/28 10:13]
admin
tutorial:record [2019/01/28 10:14] (current)
admin
Line 190: Line 190:
  
 ====Properties==== ​ ====Properties==== ​
-คือ คุณสมบัติของ Object ​ะกอบไปด้วย Getter (คำสั่งหลัง read) และ ​Setter (คำสั่งหลัง write)\\ \\ +คือ คุณสมบัติของ Object ​โดยยละเอจะขอกล่าวในหัวข้อ Class อีกที\\ \\
-พื่เป็นการอธิบาให้เห็นภาพ ​จะขอัวอย่าง+
  
-  property ValueX:​integer read GetValueX write SetValueX; 
- 
-จากตัวอย่างดังกล่าว Getter คือ GetValueX ส่วน Setter คือ SetValueX \\ 
-Getter จะถูกเรียกใช้งาน เมื่อมีการเรียกใช้ค่าของ Property ดังเช่น 
- 
-  writeln(ValueX);​ 
-  ​ 
-Setter จะถูกเรียกใช้งาน เมื่อมีการใส่ค่าให้ Property เช่น 
- 
-  ValueX:=12; 
-  ​ 
-ทำไมต้องมี Getter Setter ให้ยุ่งยาก แทนที่จะใช้ var หรือ Field อย่างเดียว?​ ประโยชน์ของการใช้งาน Property มีดังนี้ครับ 
-  *ใช้คัดกรองตัวแปร บางครั้งเรารับค่าเพื่อการคำนวณในช่วง 0-100 เท่านั้น หากผู้ใช้ใส่ค่าเกินกว่าค่าดังกล่าวมา จะสามารถคัดกรองให้เป็นค่าที่อยู่ในช่วง 0-100 แทนได้ 
-  *เพื่อให้ค่าของ Property ได้มีการ update ตลอดเวลา โดยเฉพาะหาก property ของเรา ขึ้นอยู่กับค่าอื่น เมื่อใดที่มีการเปลี่ยนค่า ก็จะมีการ update ค่า property เราด้วยเสมอ 
- 
- 
-รูปแบบการเขียน Property มีหลักๆดังนี้ 
-  *Property ที่มี Getter, Setter เป็น Field 
- 
-  property Value:​integer read FValue write FValue; 
- 
-  *property ที่มี Getter, Setter เป็น Procedure/​Function ซึ่งโดยปกติ Getter จะเป็น Function ส่วน Setter จะเป็น Procedure 
- 
-  property ValueX:​integer read GetValueX write SetValueX; 
-  function GetValueX:​integer;​ 
-  procedure SetValueX(Value:​integer);​ 
- 
-  *Property ที่แสดงค่าได้อย่างเดียว (ReadOnly) 
- 
-  property IsOK:​boolean read GetIsOK; 
  
  
tutorial/record.1548645183.txt.gz · Last modified: 2019/01/28 10:13 by admin