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

Java เป็นภาษาการเขียนโปรแกรมเชิงวัตถุในระดับสูงที่พัฒนาโดย Sun Microsystems ปัจจุบัน Java เป็นเจ้าของโดย Oracle ซึ่งซื้อ Sun ในปี 2010

13
เราควรหลีกเลี่ยงคุณสมบัติภาษาที่ C ++ มี แต่ Java ไม่ได้หรือไม่
สมมติว่าฉันถูก จำกัด ให้ใช้ C ++ โดยสภาพแวดล้อมในโครงการ เป็นการดีหรือไม่ที่จะป้องกันการใช้คุณสมบัติภาษาบางอย่างที่ C ++ มี แต่ Java ไม่ได้มี (เช่น: การสืบทอดหลายตัว ฉันคิดว่าเหตุผลคือ: เนื่องจาก Java เป็นรุ่นใหม่กว่า C ++ หาก Java ไม่มีคุณสมบัติที่ C ++ มีหมายความว่าคุณลักษณะนั้นไม่ดีดังนั้นเราจึงควรหลีกเลี่ยงการใช้งาน รหัส C ++ พร้อมคุณสมบัติเฉพาะ C ++ (เช่น: ฟังก์ชั่นเพื่อนหลายมรดก) สามารถดูแลรักษาหรือตรวจสอบโดยโปรแกรมเมอร์ C ++ เท่านั้น แต่ถ้าเราเขียน C ++ เช่น Java (โดยไม่มีคุณสมบัติเฉพาะภาษา C ++) โค้ดนั้นสามารถรักษาหรือตรวจสอบได้โดยทั้งสอง โปรแกรมเมอร์ C …
110 java  c++  code-quality 

12
เหตุผลที่ต้องการตัวแปรท้องถิ่นมากกว่าตัวแปรอินสแตนซ์?
codebase ที่ฉันใช้บ่อยใช้ตัวแปรอินสแตนซ์เพื่อแชร์ข้อมูลระหว่างวิธีการต่าง ๆ นักพัฒนาดั้งเดิมยืนยันว่านี่เป็นไปตามแนวทางปฏิบัติที่ดีที่สุดที่ระบุไว้ในหนังสือClean Codeของลุงบ๊อบ / โรเบิร์ตมาร์ติน: "กฎข้อแรกของฟังก์ชั่นคือพวกเขาควรมีขนาดเล็ก" และ "จำนวนที่เหมาะสมของการขัดแย้งสำหรับฟังก์ชั่นคือศูนย์ (niladic) (... ) การโต้เถียงนั้นยากพวกเขาใช้พลังทางแนวคิดมากมาย" ตัวอย่าง: public class SomeBusinessProcess { @Inject private Router router; @Inject private ServiceClient serviceClient; @Inject private CryptoService cryptoService; private byte[] encodedData; private EncryptionInfo encryptionInfo; private EncryptedObject payloadOfResponse; private URI destinationURI; public EncryptedResponse process(EncryptedRequest encryptedRequest) { checkNotNull(encryptedRequest); getEncodedData(encryptedRequest); …
109 java  refactoring 

5
ใน Java ฉันควรใช้ "final" สำหรับพารามิเตอร์และ locals แม้ว่าฉันไม่จำเป็นต้อง?
Java อนุญาตให้ทำเครื่องหมายตัวแปร (ฟิลด์ / โลแคล / พารามิเตอร์) เป็นfinalเพื่อป้องกันการกำหนดใหม่ ฉันพบว่ามันมีประโยชน์มากกับฟิลด์เนื่องจากมันช่วยให้ฉันดูได้อย่างรวดเร็วว่าคุณลักษณะบางอย่างหรือทั้งคลาสนั้นมีจุดมุ่งหมายที่ไม่เปลี่ยนรูป ในทางกลับกันฉันพบว่ามันมีประโยชน์น้อยกว่ามากกับคนในท้องถิ่นและพารามิเตอร์และฉันมักจะหลีกเลี่ยงการทำเครื่องหมายว่าfinalแม้ว่าพวกเขาจะไม่ได้รับการมอบหมายซ้ำอีกครั้ง (ยกเว้นอย่างชัดเจนเมื่อพวกเขาต้องการใช้ในชั้นเรียน) . อย่างไรก็ตามเมื่อเร็ว ๆ นี้ฉันใช้รหัสที่ใช้ขั้นสุดท้ายเมื่อใดก็ตามที่ทำได้ซึ่งฉันเดาว่าจะให้ข้อมูลเพิ่มเติมในทางเทคนิค ไม่มั่นใจเกี่ยวกับรูปแบบการเขียนโปรแกรมของฉันอีกต่อไปฉันสงสัยว่าอะไรคือข้อดีและข้อเสียอื่น ๆ ของการใช้finalที่ใดก็ได้ลักษณะอุตสาหกรรมที่พบบ่อยที่สุดคืออะไรและเพราะเหตุใด
105 java  coding-style  final 

5
เหตุใดจึงมีการเพิ่มวิธีเริ่มต้นและแบบคงที่ลงในอินเตอร์เฟสใน Java 8 เมื่อเรามีคลาสแบบนามธรรมแล้ว?
ใน Java 8 อินเทอร์เฟซสามารถมีวิธีการใช้งานวิธีการแบบคงที่และวิธีการที่เรียกว่า "เริ่มต้น" (ซึ่งชั้นเรียนการดำเนินการไม่จำเป็นต้องแทนที่) ในมุมมองของฉัน (อาจไร้เดียงสา) ไม่จำเป็นต้องละเมิดส่วนต่อประสานเช่นนี้ การเชื่อมต่อเป็นสัญญาที่คุณต้องปฏิบัติตามเสมอและนี่คือแนวคิดที่เรียบง่ายและบริสุทธิ์ ตอนนี้มันเป็นการผสมผสานของหลายสิ่งหลายอย่าง ในความเห็นของฉัน: วิธีการคงที่ไม่ได้เป็นของอินเตอร์เฟซ พวกมันอยู่ในคลาสยูทิลิตี้ ไม่ควรอนุญาตวิธีการ "เริ่มต้น" ในอินเทอร์เฟซเลย คุณสามารถใช้คลาสนามธรรมสำหรับวัตถุประสงค์นี้ได้เสมอ ในระยะสั้น: ก่อน Java 8: คุณสามารถใช้คลาสนามธรรมและคลาสปกติเพื่อจัดเตรียมเมธอด static และ default บทบาทของอินเตอร์เฟสชัดเจน วิธีการทั้งหมดในอินเทอร์เฟซควรจะ overriden โดยการใช้คลาส คุณไม่สามารถเพิ่มวิธีการใหม่ในอินเทอร์เฟซโดยไม่ต้องปรับเปลี่ยนการใช้งานทั้งหมด แต่นี่เป็นสิ่งที่ดีจริงๆ หลังจาก Java 8: ไม่มีความแตกต่างระหว่างอินเทอร์เฟซและคลาสนามธรรม (นอกเหนือจากมรดกหลายรายการ) ในความเป็นจริงคุณสามารถเลียนแบบคลาสปกติด้วยอินเทอร์เฟซ เมื่อตั้งโปรแกรมการใช้งานโปรแกรมเมอร์อาจลืมแทนที่วิธีการเริ่มต้น มีข้อผิดพลาดในการคอมไพล์ถ้าคลาสพยายามใช้อินเตอร์เฟสสองอินเตอร์เฟสขึ้นไปที่มีเมธอดดีฟอลต์ที่มีลายเซ็นเดียวกัน โดยการเพิ่มวิธีการเริ่มต้นให้กับส่วนติดต่อทุกชั้นใช้งานโดยอัตโนมัติสืบทอดพฤติกรรมนี้ คลาสเหล่านี้บางคลาสอาจไม่ได้รับการออกแบบโดยคำนึงถึงฟังก์ชันการทำงานใหม่และอาจทำให้เกิดปัญหาได้ ตัวอย่างเช่นถ้ามีคนเพิ่มวิธีการเริ่มต้นใหม่default void foo()ให้กับอินเทอร์เฟซIxจากนั้นชั้นเรียนCxดำเนินการIxและมีfooวิธีการส่วนตัวที่มีลายเซ็นเดียวกันจะไม่รวบรวม อะไรคือสาเหตุหลักที่ทำให้เกิดการเปลี่ยนแปลงครั้งใหญ่และพวกเขาจะได้ประโยชน์อะไรบ้าง (ถ้ามี)

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

6
หน่วยความจำ Stack และ Heap ใน Java
ดังที่ฉันเข้าใจใน Java หน่วยความจำสแต็คจะเก็บข้อมูลพื้นฐานและวิธีการเรียกใช้และหน่วยความจำฮีปใช้เพื่อจัดเก็บวัตถุ สมมติว่าฉันมีชั้นเรียน class A { int a ; String b; //getters and setters } ดั้งเดิมaในชั้นเรียนAจะถูกเก็บไว้ที่ไหน เหตุใดหน่วยความจำฮีปจึงมีอยู่ทั้งหมด ทำไมเราไม่เก็บทุกอย่างไว้ในกองซ้อน? เมื่อวัตถุได้รับการรวบรวมขยะสแต็กที่เกี่ยวข้องกับวัตถุที่ถูกทำลายจะถูกจัดเก็บหรือไม่?

9
เหตุใดจึงยากที่จะทำให้โปรแกรม Java 'ปรากฏเป็นภาษาพื้นเมือง'
แอปพลิเคชัน Java ส่วนใหญ่จะไม่เหมือนกับแอปพลิเคชัน C / C ++ Swing อาจได้รับการออกแบบโดยมีจุดประสงค์เพื่อให้ได้รูปลักษณ์ที่แตกต่าง แต่จากสิ่งที่ฉันได้อ่าน SWT นั้นพยายามที่จะ 'look native' และไม่ประสบความสำเร็จ คำถามของฉันคือ: ทำไมมันจึงเป็นเรื่องยากสำหรับนักพัฒนาของภาษา Java ในการออกแบบระบบ GUI ที่สำเนาว่ารูปลักษณ์ของ GUIs พื้นเมือง? GUIs ดั้งเดิมต่างกันอย่างไร มันไม่ใช่แค่เรื่องของการออกแบบปุ่มที่ดูเหมือนปุ่ม 'ดั้งเดิม' ใช่ไหม หรือลึกไปกว่านั้น?
98 java  gui 

4
การอ้างอิง Java แตกต่างจากตัวชี้ C อย่างไร
C มีพอยน์เตอร์และ Java มีสิ่งที่เรียกว่าการอ้างอิง พวกเขามีบางสิ่งที่เหมือนกันในแง่ที่ว่าพวกเขาทั้งหมดชี้ไปที่บางสิ่งบางอย่าง ฉันรู้ว่าพอยน์เตอร์ใน C เก็บที่อยู่ที่ชี้ไป การอ้างอิงเก็บที่อยู่ด้วยหรือไม่ พวกมันแตกต่างกันอย่างไรยกเว้นตัวชี้นั้นจะยืดหยุ่นและผิดพลาดได้ง่ายกว่ากัน?
97 java  c  pointers  reference 

17
การห่อหุ้มยังคงเป็นหนึ่งในช้าง OOP ที่ยืนอยู่บน?
Encapsulation บอกให้ฉันสร้างฟิลด์ทั้งหมดหรือเกือบทั้งหมดเป็นส่วนตัวและแสดงสิ่งเหล่านี้โดย getters / setters แต่ตอนนี้ห้องสมุดเช่นลอมบอก@Dataปรากฏซึ่งช่วยให้เราเพื่อแสดงเขตข้อมูลส่วนตัวทั้งหมดของบันทึกย่อสั้น มันจะสร้าง getters, setters และการตั้งค่าคอนสตรัคเตอร์สำหรับฟิลด์ส่วนตัวทั้งหมด ใครสามารถอธิบายให้ฉันฟังได้ว่าอะไรคือความรู้สึกของการซ่อนเขตข้อมูลทั้งหมดเป็นส่วนตัวและหลังจากนั้นเพื่อเปิดเผยทั้งหมดของพวกเขาด้วยเทคโนโลยีพิเศษบางอย่าง ทำไมเราไม่ใช้เพียงช่องสาธารณะเท่านั้น? ฉันรู้สึกว่าเราได้เดินไกลและยากเพียงเพื่อกลับไปที่จุดเริ่มต้น ใช่มีเทคโนโลยีอื่น ๆ ที่ทำงานผ่าน getters และ setters และเราไม่สามารถใช้มันผ่านช่องสาธารณะที่เรียบง่าย แต่เทคโนโลยีเหล่านี้ปรากฏขึ้นเพราะเรามีคุณสมบัติมากมายเหล่านั้น - ฟิลด์ส่วนตัวที่อยู่เบื้องหลังผู้ได้รับ / setters สาธารณะ ถ้าเราไม่มีคุณสมบัติเทคโนโลยีเหล่านี้จะพัฒนาอีกวิธีหนึ่งและจะสนับสนุนเขตข้อมูลสาธารณะ และทุกอย่างจะง่ายและเราไม่ต้องการลอมบอกในตอนนี้ วงจรนี้มีความรู้สึกอย่างไร? และมีการห่อหุ้มจริงๆความรู้สึกใด ๆ ในขณะนี้ในการเขียนโปรแกรมในชีวิตจริง?

10
มี / ทุกคนสามารถท้าทายลุงบ๊อบบนความรักของเขาในการลบ“ วงเล็บปีกกาที่ไร้ประโยชน์” หรือไม่?
ฉันเกลียดการอ้างอิงเนื้อหาที่ชำระเงินแล้ว แต่วิดีโอนี้แสดงสิ่งที่ฉันกำลังพูดถึง 12 นาทีอย่างแม่นยำใน Robert Martin ดูที่นี่: และกล่าวว่า "หนึ่งในสิ่งที่ฉันชอบทำคือกำจัดวงเล็บปีกกาที่ไร้ประโยชน์" เมื่อเขาเปลี่ยนมันเป็นสิ่งนี้: เมื่อนานมาแล้วในการศึกษาที่อยู่ห่างไกลฉันถูกสอนว่าอย่าทำเช่นนี้เพราะมันทำให้มันง่ายที่จะแนะนำข้อผิดพลาดโดยการเพิ่มอีกบรรทัดเยื้องคิดว่ามันถูกควบคุมโดยifเมื่อมันไม่ได้ เพื่อความเป็นธรรมกับลุงบ๊อบเขาได้ทำการปรับเปลี่ยนวิธีการจาวาแบบยาวลงไปสู่ฟังก์ชั่นเล็ก ๆ น้อย ๆ ที่ผมเห็นว่าสามารถอ่านได้ง่ายขึ้น เมื่อเขาเปลี่ยนมันเสร็จ (22.18) ดูเหมือนว่า: ฉันสงสัยว่าควรจะตรวจสอบการลบวงเล็บหรือไม่ ฉันคุ้นเคยกับแนวทางปฏิบัติที่ดีที่สุดแล้ว ลุงบ๊อบจะถูกท้าทายในประเด็นนี้หรือไม่? ลุงบ๊อบปกป้องความคิดนี้หรือไม่?

5
ทำไม Java จึงไม่มีการปรับให้เหมาะสำหรับการเรียกซ้ำทั้งหมด
จากสิ่งที่ฉันได้อ่าน: เหตุผลก็เพราะมันไม่ง่ายที่จะตัดสินว่าวิธีการใดที่จะถูกเรียกตามที่เราได้รับมรดก อย่างไรก็ตามทำไม Java อย่างน้อยก็ไม่มีการปรับให้เหมาะสมแบบเรียกซ้ำสำหรับเมธอดแบบสแตติกและบังคับใช้วิธีที่เหมาะสมในการเรียกเมธอดแบบสแตติกกับคอมไพเลอร์? ทำไม Java ไม่ได้รับการสนับสนุนใด ๆ เลยสำหรับการเรียกซ้ำ? ฉันไม่แน่ใจว่ามีปัญหาใด ๆ หรือไม่ เกี่ยวกับคำแนะนำซ้ำตามที่อธิบายโดยJörg W Mittag 1 : อีกคำถามหนึ่งถามเกี่ยวกับ TCO คำถามนี้เกี่ยวกับ TRE TRE นั้นง่ายกว่า TCO มาก นอกจากนี้คำถามอื่นถามเกี่ยวกับข้อ จำกัด ที่ JVM กำหนดในการปรับใช้ภาษาที่ต้องการรวบรวม JVM คำถามนี้ถามเกี่ยวกับ Java ซึ่งเป็นภาษาหนึ่งที่ไม่ได้ถูก จำกัด โดย JVM เนื่องจาก JVM spec สามารถเปลี่ยนแปลงได้โดย คนเดียวกันที่ออกแบบ Java และสุดท้ายไม่มีข้อ จำกัด ใน JVM เกี่ยวกับ TRE …

16
จิตใจที่อ่อนเยาว์จำเป็นต้องเรียนรู้แนวคิดตัวชี้?
เหตุใด C master Dennis Ritchie จึงแนะนำพอยน์เตอร์ใน C และทำไมภาษาโปรแกรมอื่น ๆ เช่น VB.NET หรือ Java หรือ C # จึงกำจัดภาษาเหล่านั้น ฉันพบบางจุดใน Google และฉันต้องการฟังความคิดเห็นของคุณด้วย ทำไมพวกเขาถึงกำจัดแนวคิดของตัวชี้ในภาษาสมัยใหม่? ผู้คนพูดว่า C เป็นภาษาพื้นฐานและพอยน์เตอร์เป็นแนวคิดที่ทำให้ C มีพลังและโดดเด่นและทำให้ C ยังคงแข่งขันกับภาษาที่ทันสมัยกว่าได้ แล้วทำไมพวกเขาถึงกำจัดพอยน์เตอร์ในภาษาที่ทันสมัยกว่า คุณคิดว่าความรู้เกี่ยวกับพอยน์เตอร์ยังคงมีความสำคัญต่อโปรแกรมเมอร์ใหม่หรือไม่? ทุกวันนี้ผู้คนกำลังใช้ VB.NET หรือ Java ซึ่งสนับสนุนคุณสมบัติขั้นสูงมากกว่า C (และไม่ใช้แนวคิดตัวชี้) และหลาย ๆ คนอย่างที่ฉันเห็นในตอนนี้ (เพื่อนของฉัน) เลือกภาษาเหล่านี้โดยไม่สนใจ C เนื่องจากสนับสนุนคุณสมบัติขั้นสูง ฉันบอกให้พวกเขาเริ่มต้นด้วย C. พวกเขาบอกว่าเป็นเรื่องเสียที่จะเรียนรู้แนวคิดของพอยน์เตอร์เมื่อคุณทำสิ่งขั้นสูงใน VB.NET หรือ Java …

17
การกำหนดรูปแบบรหัสเดียวกันสำหรับนักพัฒนาทั้งหมดเป็นความคิดที่ดีหรือไม่
เรากำลังพิจารณาที่จะกำหนดรูปแบบรหัสมาตรฐานเดียวในโครงการของเรา (รูปแบบอัตโนมัติพร้อมการดำเนินการบันทึกใน Eclipse) เหตุผลคือในปัจจุบันมีความแตกต่างอย่างมากในรูปแบบรหัสที่ใช้โดยนักพัฒนา (> 10) ซึ่งทำให้นักพัฒนารายหนึ่งทำงานกับโค้ดของผู้พัฒนารายอื่นได้ยากขึ้น บางครั้งไฟล์ Java เดียวกันใช้รูปแบบที่ต่างกัน 3 รูปแบบ ดังนั้นฉันเชื่อว่าข้อได้เปรียบนั้นชัดเจน (readability => การเพิ่มผลผลิต) แต่เป็นความคิดที่ดีที่จะกำหนดสิ่งนี้หรือไม่? และถ้าไม่ทำไม? อัพเดท เราทุกคนใช้ Eclipse และทุกคนตระหนักถึงแผน มีรูปแบบรหัสที่ใช้โดยส่วนใหญ่แล้ว แต่ไม่ได้บังคับใช้เนื่องจากบางคนชอบที่จะยึดตามรูปแบบรหัสของตัวเอง เนื่องจากเหตุผลข้างต้นบางคนต้องการบังคับใช้

6
จะดีกว่าถ้าใช้ assert หรือ IllegalArgumentException สำหรับพารามิเตอร์เมธอดที่ต้องการ?
ใน Java ซึ่งแนะนำมากขึ้นและทำไม? ทั้งสองประเภทจะโยนข้อยกเว้นดังนั้นในการจัดการพวกเขาก็เหมือนกัน assertสั้นกว่านี้เล็กน้อย แต่ฉันไม่แน่ใจว่าสำคัญแค่ไหน public void doStuff(Object obj) { assert obj != null; ... } VS public void doStuff(Object obj) { if (obj == null) { throw new IllegalArgumentException("object was null"); } ... }

10
คุณจะหลีกเลี่ยง getters และ setters ได้อย่างไร
ฉันมีช่วงเวลาที่ยากลำบากในการออกแบบชั้นเรียนในแบบที่เป็นจริง ฉันอ่านแล้วว่าวัตถุแสดงพฤติกรรมของพวกเขาไม่ใช่ข้อมูล ดังนั้นแทนที่จะใช้ getter / setters เพื่อแก้ไขข้อมูลวิธีการของคลาสที่กำหนดควรเป็น "คำกริยา" หรือการดำเนินการกับวัตถุ ยกตัวอย่างเช่นใน 'บัญชี' วัตถุเราจะมีวิธีการWithdraw()และDeposit()มากกว่าsetAmount()ฯลฯ ดู: ทำไมทะเยอทะยานและหมาวิธีเป็นความชั่วร้าย ตัวอย่างเช่นกำหนดคลาสลูกค้าที่เก็บข้อมูลจำนวนมากเกี่ยวกับลูกค้าเช่นชื่อ DOB, Tel, ที่อยู่เป็นต้นเราจะหลีกเลี่ยง getter / setters เพื่อรับและตั้งค่าคุณลักษณะเหล่านั้นได้อย่างไร วิธีการพิมพ์ 'พฤติกรรม' ประเภทใดที่สามารถเขียนเพื่อเติมข้อมูลทั้งหมดได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.