extending

___ tag123javascript ___ JavaScript (nicht zu verwechseln mit Java) ist eine dynamische Sprache mit mehreren Paradigmen auf hoher Ebene, die sowohl für das clientseitige als auch für das serverseitige Scripting verwendet wird. Verwenden Sie dieses Tag für Fragen zu ECMAScript und seinen verschiedenen Dialekten / Implementierungen (außer ActionScript und Google-Apps-Script). ___ tag123oop ___ Objektorientierte Programmierung ist ein Programmierparadigma, das "Objekte" verwendet: Datenstrukturen, die aus Datenfeldern und Methoden zusammen mit ihren Interaktionen bestehen. ___ tag123prototyp ___ In prototypbasierten Sprachen ist der Prototyp eines Objekts eine Gruppe von Eigenschaften, die von allen Objekten geerbt werden, die auf diesem Objekt basieren. Nicht zu verwechseln mit [Funktionsprototyp], [Prototyp-js], [Prototypmuster], [Prototypumfang] oder [Prototypjs]; Siehe die vollständigen Informationen für Details. ___ qstnhdr ___ JavaScript-Prototyp erweitert die Basisklasse und kann nicht auf Basisklasseneigenschaften / Methoden aus der Prototypklasse zugreifen ___ tag123baseclass ___ In der objektorientierten Programmierung ist eine Basisklasse eine Klasse, von der andere Klassen erben. Zum Beispiel können eine Kindklasse "Männlich" und eine andere Kindklasse "Frau" beide von der Basisklasse "Mensch" erben. ___ qstntxt ___

Ich habe eine JavaScript-Klasse TkpSlider erstellt, die von dieser w3schools-Seite inspiriert wurde. ( JSFiddle )

%Vor%

Ich habe dies erweitert, um einige Swipe-Fähigkeiten hinzuzufügen, die von dieser Seite inspiriert sind damit ich den Slider beim User Swipe bearbeiten kann. ( JSFiddle )

%Vor%

Ich habe den Code getrennt, damit ich später nicht mehr vom Basiscode und eventuellen Zusatzfunktionen verwirrt bin. Aber mit OOP muss ich erweitern, indem ich einen neuen Namen dafür erstelle TkpSwiper , aber ich möchte einen anderen Weg finden, denselben Namen zu verwenden TkpSlider .

Ich sah diesen Artikel und habe versucht, einen Prototyp zu verwenden, um TkpSlider in diesem JSFiddle (Snippet unten) zu erweitern. Das Problem ist, dass ich nicht auf die öffentlichen Methoden der Basisklasse von der Kindklasse zugreifen kann. Das Beispiel Javascript in dem Blog, den ich getestet habe, funktioniert aber, ich muss etwas mit meinem Code vermissen. Könnte jemand Einblick gewinnen? Danke.

%Vor% %Vor% %Vor%
    
___ tag123extension ___ hilf uns, dieses Wiki zu bearbeiten ___ answer48649615 ___

Problem 1: Sie geben nichts von der Prototyp-Funktion zurück. Sie müssen jede öffentliche Methode als Eigenschaften des Rückgabeobjekts zurückgeben.

%Vor%

Problem 2: Sie müssen Variablen innerhalb der init-Funktion setzen. Draußen bezieht sich diese Variable nicht auf TkpSlider.

%Vor%

Problem 3 Sie müssen die initSwiper () -Methode manuell aufrufen, um beim Erstellen des TkpSlider-Objekts Ihre Variablen initialisieren zu lassen.

%Vor%

Dann wird es funktionieren, wie Sie brauchen, und Sie können öffentliche Methoden aufrufen, wenn Sie brauchen.

%Vor%

Arbeits-Snippet:

%Vor% %Vor% %Vor%
  

Prototyp-Verwirrung: Was das ist das ?

%Vor%     
___
2
Antworten

Erweitern der Klasse für die Aktivität

Ich bin völlig neu in der Entwicklung von Android (Java) und bin sehr gespannt darauf! Der Entwicklerleitfaden von Google ist fantastisch und ich habe in kurzer Zeit viel gelernt. Es hält mich sogar in der Nacht wach;) Heute habe ich Menüs ge...
24.11.2011, 10:33
4
Antworten

Überschreiben von Doctrine_Record (sfDoctrineRecord) Instanzmethoden in Doctrine PHP Symfony

Mein Hintergrund ist in Propel, also hatte ich gehofft, es wäre eine einfache Sache, einen magischen Getter in einem Doctrine_Record (sfDoctrineRecord) außer Kraft zu setzen, aber ich bekomme entweder einen Segfault oder die Override-Methode wir...
06.04.2010, 17:57
3
Antworten

Array Listener ändern [Duplizieren]

Wie kann ich eine Änderung an einem registrierten Array (oder zumindest ein Hinzufügen oder Entfernen von Elementen) melden (eine vordefinierte Funktion ausführen)? Ich habe versucht, einen Prototyp zu verwenden. Ich möchte nicht dafür gesch...
11.12.2012, 18:04
1
Antwort

JavaScript-Prototyp erweitert die Basisklasse und kann nicht auf Basisklasseneigenschaften / Methoden aus der Prototypklasse zugreifen

Ich habe eine JavaScript-Klasse TkpSlider erstellt, die von dieser w3schools-Seite inspiriert wurde. ( JSFiddle ) %Vor% Ich habe dies erweitert, um einige Swipe-Fähigkeiten hinzuzufügen, die von dieser Seite inspiriert sind damit ich d...
02.02.2018, 12:17