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

การเขียนโปรแกรมเชิงวัตถุเป็นกระบวนทัศน์การเขียนโปรแกรมโดยใช้ "วัตถุ": โครงสร้างข้อมูลประกอบด้วยเขตข้อมูลและวิธีการร่วมกับการโต้ตอบของพวกเขา

7
อะไรคือเหตุผลเบื้องหลังการมีวัตถุร่วมใน Scala
มีกรณีที่จำเป็นต้องใช้วัตถุร่วม (ซิงเกิลตัน) สำหรับคลาสหรือไม่? เหตุใดฉันจึงต้องการสร้างคลาสพูดFooและสร้างอ็อบเจ็กต์ที่แสดงร่วมด้วย

5
คำอธิบายง่ายๆ PHP OOP เทียบกับขั้นตอน?
ฉันต้องการเรียนรู้ PHP และต้องการรับแนวคิดเกี่ยวกับ OOP และ Procedural ฉันอ่านบล็อกและแบบฝึกหัดอื่น ๆ เกี่ยวกับ OOP กับขั้นตอน แต่ยังไม่เข้าใจแนวทาง OOP เทียบกับขั้นตอน ที่ฉันควรเรียนรู้? รหัสแตกต่างกันอย่างไร ผลกระทบคืออะไร? PHP Framework ช่วยใน OOP aproach ได้อย่างไร (ฉันต้องการเรียนรู้ CodeIgniter) ขั้นตอนจำเป็นต้องมี Framework หรือไม่? ฉันต้องการทราบความแตกต่างของรหัสของทั้งสองอย่างจริงๆความเข้าใจของฉันเกี่ยวกับ OOP คือคุณสร้างคลาสที่เหมือนและสามารถเข้าถึงได้ (ฉันไม่รู้ถ้าถูกต้อง) ขอบคุณ!


8
วัตถุประสงค์ของ Serialization ใน Java คืออะไร?
ฉันได้อ่านบทความจำนวนมากเกี่ยวกับ Serialization และวิธีการที่ดีและยอดเยี่ยม แต่ไม่มีข้อโต้แย้งใดที่น่าเชื่อเพียงพอ ฉันสงสัยว่าจะมีใครบอกฉันได้จริง ๆ ว่าอะไรคือสิ่งที่เราสามารถบรรลุได้จากการจัดลำดับชั้นเรียน?

9
ฉันควรใช้คลาสหรือพจนานุกรม?
ฉันมีคลาสที่มีเฉพาะฟิลด์และไม่มีเมธอดเช่นนี้: class Request(object): def __init__(self, environ): self.environ = environ self.request_method = environ.get('REQUEST_METHOD', None) self.url_scheme = environ.get('wsgi.url_scheme', None) self.request_uri = wsgiref.util.request_uri(environ) self.path = environ.get('PATH_INFO', None) # ... สิ่งนี้สามารถแปลเป็นคำสั่งได้อย่างง่ายดาย __slots__ชั้นมีความยืดหยุ่นมากขึ้นเพื่อให้การเพิ่มในอนาคตและอาจจะได้อย่างรวดเร็วด้วย ดังนั้นการใช้ dict แทนจะมีประโยชน์หรือไม่? คำสั่งจะเร็วกว่าคลาสหรือไม่? และเร็วกว่าคลาสที่มีสล็อต?
105 python  oop  class  dictionary 

7
ทำไมอินเทอร์เฟซไม่สามารถใช้อินเทอร์เฟซอื่นได้?
ที่ฉันหมายถึงคือ: interface B {...} interface A extends B {...} // allowed interface A implements B {...} // not allowed ฉัน googled และฉันพบสิ่งนี้ : implementsหมายถึงการกำหนดการใช้งานสำหรับวิธีการของอินเทอร์เฟซ อย่างไรก็ตามอินเทอร์เฟซไม่มีการใช้งานดังนั้นจึงเป็นไปไม่ได้ อย่างไรก็ตามอินเทอร์เฟซเป็นคลาสนามธรรม 100% และคลาสนามธรรมสามารถใช้อินเทอร์เฟซ (คลาสนามธรรม 100%) ได้โดยไม่ต้องใช้วิธีการ อะไรคือปัญหาเมื่อกำหนดเป็น "อินเทอร์เฟซ" ในรายละเอียด interface A { void methodA(); } abstract class B implements A {} // we may not …

10
ตัวแปร $ นี้หมายถึงอะไรใน PHP?
ฉันเห็นตัวแปร$thisใน PHP ตลอดเวลาและฉันไม่รู้ว่ามันใช้ทำอะไร ส่วนตัวไม่เคยใช้เลย ใครช่วยบอกฉันหน่อยได้ไหมว่าตัวแปร$thisทำงานอย่างไรใน PHP
104 php  class  oop  this 


6
ฉันจะติดตั้ง __getattribute__ โดยไม่มีข้อผิดพลาดซ้ำไม่สิ้นสุดได้อย่างไร
ฉันต้องการลบล้างการเข้าถึงตัวแปรหนึ่งในคลาส แต่คืนค่าอื่น ๆ ทั้งหมดตามปกติ ฉันจะทำสิ่งนี้ให้สำเร็จได้__getattribute__อย่างไร? ฉันลองทำสิ่งต่อไปนี้ (ซึ่งควรแสดงให้เห็นถึงสิ่งที่ฉันพยายามทำ) แต่ฉันได้รับข้อผิดพลาดในการเรียกซ้ำ class D(object): def __init__(self): self.test=20 self.test2=21 def __getattribute__(self,name): if name=='test': return 0. else: return self.__dict__[name] >>> print D().test 0.0 >>> print D().test2 ... RuntimeError: maximum recursion depth exceeded in cmp
104 python  class  oop  recursion  getattr 

9
เป็นไปได้หรือไม่ที่จะได้รับชื่อคุณสมบัติที่สืบทอดมาซึ่งไม่สามารถระบุได้ของวัตถุ?
ใน JavaScript เรามีสองสามวิธีในการรับคุณสมบัติของวัตถุขึ้นอยู่กับสิ่งที่เราต้องการได้รับ 1) Object.keys()ซึ่งส่งคืนคุณสมบัติที่นับได้ของอ็อบเจ็กต์ทั้งหมดเป็นของตัวเองวิธี ECMA5 2) for...inลูปซึ่งส่งคืนคุณสมบัติที่นับได้ทั้งหมดของอ็อบเจกต์ไม่ว่าจะเป็นคุณสมบัติของตัวเองหรือสืบทอดมาจากโซ่ต้นแบบ 3) Object.getOwnPropertyNames(obj)ซึ่งส่งคืนคุณสมบัติของตัวเองทั้งหมดของวัตถุแจกแจงได้หรือไม่ นอกจากนี้เรายังมีวิธีการเช่นhasOwnProperty(prop)ให้เราตรวจสอบว่าทรัพย์สินนั้นสืบทอดมาหรือเป็นของวัตถุนั้นจริงหรือไม่และpropertyIsEnumerable(prop)ตามที่ชื่อแนะนำช่วยให้เราตรวจสอบว่ามีการแจกแจงคุณสมบัติหรือไม่ ด้วยตัวเลือกทั้งหมดนี้ไม่มีทางที่จะได้รับคุณสมบัติที่ไม่สามารถระบุได้และไม่ใช่ของตัวเองซึ่งเป็นสิ่งที่ฉันต้องการทำ มีวิธีใดบ้างที่จะทำเช่นนี้? กล่าวอีกนัยหนึ่งฉันจะได้รับรายการคุณสมบัติที่ไม่สามารถนับได้ที่สืบทอดมาได้หรือไม่? ขอขอบคุณ.

14
ทำไม Active Record ทั้งหมดถึงเกลียดชัง? [ปิด]
ตามที่กล่าวมาในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดขึ้นมาใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ขณะที่ผมได้เรียนรู้มากขึ้นเกี่ยวกับ OOP และเริ่มต้นที่จะใช้รูปแบบการออกแบบต่างๆผมให้กลับมาที่กรณีที่มีผู้เกลียดActive Record บ่อยครั้งที่ผู้คนพูดว่ามันปรับขนาดได้ไม่ดี (โดยอ้างว่า Twitter เป็นตัวอย่างหลักของพวกเขา) - แต่ก็ไม่มีใครอธิบายได้ว่าทำไมมันถึงปรับขนาดได้ไม่ดี และ / หรือวิธีบรรลุข้อดีของ AR โดยไม่มีข้อเสีย (ผ่านรูปแบบที่คล้ายกัน แต่แตกต่างกัน?) หวังว่านี่จะไม่กลายเป็นสงครามศักดิ์สิทธิ์เกี่ยวกับรูปแบบการออกแบบ - ทั้งหมดที่ฉันอยากรู้คือ **** โดยเฉพาะ **** มีอะไรผิดปกติกับ Active Record ถ้ามันปรับขนาดได้ไม่ดีทำไมล่ะ? มันมีปัญหาอะไรอีก?

1
การพล็อตด้วยทะเลโดยใช้อินเตอร์เฟสเชิงวัตถุ matplotlib
ฉันชอบใช้matplotlibในรูปแบบ OOP เป็นอย่างยิ่ง: f, axarr = plt.subplots(2, sharex=True) axarr[0].plot(...) axarr[1].plot(...) ทำให้ง่ายต่อการติดตามตัวเลขและพล็อตย่อยหลายรายการ คำถาม: วิธีการใช้ทะเลบอร์นด้วยวิธีนี้? หรือจะเปลี่ยนตัวอย่างนี้เป็นสไตล์ OOP ได้อย่างไร? วิธีการบอกseabornฟังก์ชั่นการวางแผนเช่นlmplotที่FigureหรือAxesแปลงมันไป?

15
จะสืบทอดจากคลาสใน JavaScript ได้อย่างไร?
ใน PHP / Java สามารถทำได้: class Sub extends Base { } และโดยอัตโนมัติเมธอดสาธารณะ / ที่มีการป้องกันคุณสมบัติฟิลด์และอื่น ๆ ของคลาส Super จะกลายเป็นส่วนหนึ่งของคลาสย่อยซึ่งสามารถแทนที่ได้หากจำเป็น อะไรที่เทียบเท่ากับสิ่งนั้นใน Javascript?
101 javascript  oop 


13
ชั้นในภายในอินเทอร์เฟซ
เป็นไปได้ไหมที่จะสร้างคลาสภายในภายในอินเทอร์เฟซ ถ้าเป็นไปได้เหตุใดเราจึงต้องการสร้างคลาสภายในเช่นนั้นเนื่องจากเราจะไม่สร้างวัตถุอินเทอร์เฟซใด ๆ ชั้นเรียนภายในเหล่านี้ช่วยในกระบวนการพัฒนาหรือไม่?

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