คำถามติดแท็ก setter

30
เหตุใดจึงต้องใช้ getters และ setters / accessors
อะไรคือข้อดีของการใช้ getters และ setters - ที่รับและตั้งค่า - แทนที่จะใช้เพียงฟิลด์สาธารณะสำหรับตัวแปรเหล่านั้น หาก getters และ setters ทำมากกว่าแค่การรับ / เซตง่ายๆฉันสามารถหาอันนี้ออกมาได้อย่างรวดเร็ว แต่ฉันไม่ชัดเจน 100% ว่า: public String foo; มีอะไรที่แย่ไปกว่า: private String foo; public void setFoo(String foo) { this.foo = foo; } public String getFoo() { return foo; } ในขณะที่อดีตใช้รหัสน้อยกว่ามาก
1541 java  oop  setter  getter  abstraction 

16
เราจะสร้างตัวตั้งและตัวตั้งค่าใน Visual Studio ได้อย่างไร
โดย "สร้าง" ฉันหมายถึงการสร้างรหัสอัตโนมัติที่จำเป็นสำหรับตัวแปรที่เลือก (ชุด) แต่คำอธิบายหรือความคิดเห็นที่ชัดเจนเกี่ยวกับแนวปฏิบัติที่ดีนั้นยินดีต้อนรับ

5
วิธีที่ถูกต้องในการแทนที่เมธอด setter ใน Ruby on Rails คืออะไร?
ฉันใช้ Ruby on Rails 3.2.2 และฉันต้องการทราบว่าต่อไปนี้เป็นวิธี "ถูกต้อง" / "ถูกต้อง" / "แน่ใจ" เพื่อแทนที่เมธอด setter สำหรับแอตทริบิวต์ class ของฉัน attr_accessible :attribute_name def attribute_name=(value) ... # Some custom operation. self[:attribute_name] = value end รหัสข้างต้นดูเหมือนว่าจะทำงานตามที่คาดไว้ แต่ผมอยากจะทราบว่าโดยการใช้รหัสดังกล่าวในอนาคตผมจะมีปัญหาหรืออย่างน้อยสิ่งที่เป็นปัญหา "ผมควรคาดหวัง" / "ที่อาจเกิดขึ้น" กับ Ruby on Rails หากนั่นไม่ใช่วิธีที่ถูกต้องในการแทนที่เมธอด setter วิธีที่ถูกต้องคืออะไร หมายเหตุ : ถ้าฉันใช้รหัส attr_accessible :attribute_name def attribute_name=(value) ... # …

12
Getters \ setters สำหรับ Dummies
ฉันพยายามทำให้หัวของฉันอยู่รอบ ๆ getters และ setters และมันก็ไม่จมลงไปฉันอ่านJavaScript Getters and SettersและDefining Getters and Settersแต่ก็ไม่เข้าใจ ใครสามารถระบุอย่างชัดเจน: สิ่งที่ผู้เริ่มต้นและผู้ตั้งถิ่นฐานตั้งใจจะทำและ ยกตัวอย่างง่ายๆบางอย่าง?

14
คอมเมนต์ Getter / Setter ง่ายๆ
คุณใช้หลักการใดในการแสดงความคิดเห็นผู้รับและผู้ตั้งถิ่นฐาน? นี่เป็นสิ่งที่ฉันสงสัยมาระยะหนึ่งแล้วเช่น: /** * (1a) what do you put here? * @param salary (1b) what do you put here? */ public void setSalary(float salary); /* * (2a) what do you put here? * @return (2b) */ public float getSalary(); ฉันมักจะพบว่าฉันมักจะเขียนสิ่งเดียวกันสำหรับ 1a / b และ 2a / b เช่น 1a) กำหนดเงินเดือนของพนักงาน …


4
getters และ setters สำหรับคลาส ECMAScript 6 คืออะไร?
ฉันสับสนว่าจุดของ getters และ setters ในคลาส ECMAScript 6 คืออะไร จุดประสงค์คืออะไร? ด้านล่างนี้เป็นตัวอย่างที่ฉันอ้างถึง: class Employee { constructor(name) { this._name = name; } doWork() { return `${this._name} is working`; } get name() { return this._name.toUpperCase(); } set name(newName){ if(newName){ this._name = newName; } } }
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.