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


16
การขยายวัตถุใน Javascript
ขณะนี้ฉันกำลังเปลี่ยนจาก Java เป็น Javascript และเป็นเรื่องยากสำหรับฉันที่จะหาวิธีขยายวัตถุในแบบที่ฉันต้องการ ฉันเคยเห็นหลายคนบนอินเทอร์เน็ตใช้วิธีที่เรียกว่าขยายบนวัตถุ รหัสจะมีลักษณะดังนี้: var Person = { name : 'Blank', age : 22 } var Robot = Person.extend({ name : 'Robo', age : 4 )} var robot = new Robot(); alert(robot.name); //Should return 'Robo' ไม่มีใครรู้วิธีการทำงานนี้หรือไม่? ฉันได้ยินมาว่าคุณต้องเขียน Object.prototype.extend = function(...); แต่ฉันไม่รู้ว่าจะทำให้ระบบนี้ทำงานได้อย่างไร ถ้ามันเป็นไปไม่ได้โปรดแสดงอีกทางเลือกหนึ่งที่ขยายวัตถุ

20
ฉันสามารถขยายคลาสโดยใช้มากกว่า 1 คลาสใน PHP ได้หรือไม่?
หากฉันมีหลายคลาสที่มีฟังก์ชั่นที่ฉันต้องการ แต่ต้องการจัดเก็บแยกต่างหากสำหรับองค์กรฉันสามารถขยายคลาสให้มีทั้งสองได้หรือไม่ กล่าวคือ class a extends b extends c แก้ไข: ฉันรู้วิธีการขยายชั้นเรียนทีละครั้ง แต่ฉันกำลังมองหาวิธีการขยายชั้นเรียนโดยใช้คลาสพื้นฐานหลายชั้นทันที - AFAIK คุณไม่สามารถทำสิ่งนี้ใน PHP ได้ แต่ควรมีวิธีแก้ไขโดยไม่ต้องหันมาใช้class c extends b,class b extends a
150 php  class  oop  extends 


7
อินเทอร์เฟซสามารถขยายหลายอินเทอร์เฟซใน Java ได้หรือไม่?
อินเทอร์เฟซสามารถขยายหลายอินเทอร์เฟซใน Java ได้หรือไม่? รหัสนี้ถูกต้องใน IDE ของฉันและจะรวบรวม: interface Foo extends Runnable, Set, Comparator<String> { } แต่ฉันเคยได้ยินมาว่าไม่อนุญาตให้มีการสืบทอดหลายรายการใน Java เหตุใดจึงมีข้อยกเว้นสำหรับอินเทอร์เฟซ

9
typescript: จะขยายสองชั้นได้อย่างไร?
ฉันต้องการประหยัดเวลาและใช้โค้ดทั่วไปซ้ำในชั้นเรียนซึ่งขยายคลาส PIXI (ไลบรารีตัวแสดงผล webGl 2d) การเชื่อมต่อวัตถุ: module Game.Core { export interface IObject {} export interface IManagedObject extends IObject{ getKeyInManager(key: string): string; setKeyInManager(key: string): IObject; } } ปัญหาของฉันคือรหัสภายในgetKeyInManagerและsetKeyInManagerจะไม่เปลี่ยนแปลงและฉันต้องการใช้ซ้ำไม่ให้ซ้ำกันนี่คือการนำไปใช้: export class ObjectThatShouldAlsoBeExtended{ private _keyInManager: string; public getKeyInManager(key: string): string{ return this._keyInManager; } public setKeyInManager(key: string): DisplayObject{ this._keyInManager = key; return this; } …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.