Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Konstruktor klasy nadrzędnej
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Master Pain
Witam

Mam 2 klasy (przykład banalny, ale chodzi o przejrzystość):
[JAVASCRIPT] pobierz, plaintext
  1. var figura = function(_szerokosc, _wysokosc) {
  2. this.szerokosc = _szerokosc;
  3. this.wysokosc = _wysokosc;
  4.  
  5. this.powierzchnia = this.szerokosc * this.wysokosc;
  6.  
  7. //jakies metody
  8. }
  9.  
  10. var prostokat = function(_szerokosc, _wysokosc) {
  11. //jakies metody tylko dla prostokąta
  12. }
  13.  
  14. prostokat.prototype = new figura(?, ?);
[JAVASCRIPT] pobierz, plaintext


I teraz pytanie: jak mam to ustawić, żeby tworząc obiekt klasy prostokat przekazać wartości zmiennych _szerokosc, _wysokosc do klasy figura?
Chodzi mi o odpowiednik z PHP:
  1. class figura {
  2.  
  3. protected $_szerokosc;
  4. protected $_wysokosc;
  5.  
  6. protected $_powierzchnia;
  7.  
  8. public function __construct($szerokosc, $wysokosc) {
  9. $this->_szerokosc = $szerokosc;
  10. $this->_wysokosc = $wysokosc;
  11.  
  12. $this->_powierzchnia = $this->_szerokosc * $this->_wysokosc;
  13. }
  14.  
  15. // pozostałe metody
  16. }
  17.  
  18. class prostokat extends figura {
  19.  
  20. public function __construct($szerokosc, $wysokosc) {
  21. parent::__construct($szerokosc, $wysokosc);
  22. }
  23.  
  24. //pozostałe metody dla prostokąta
  25. }
  26.  


Gdyby coś było niejasne to wyjaśnię smile.gif
nospor
Po pierwsze masz blad logiczny:
od kiedy to figura w ogolnosci ma szerokosc i wysokosc a jej powierzchnia to mnoznik pierwszego przez drugie?
O kole czy trojkacie nie slyszal ? winksmiley.jpg

po drugie:
w js jako tako nie ma dziedziczenia co znasz z php
http://kurs.browsehappy.pl/JavaScript/Dziedziczenie
Master Pain
Olać błąd logiczny, chodziło mi o prosty przykład winksmiley.jpg Zamień sobie figura -> prostokat; prostokat -> kwadrat (ale zaraz doczepisz się, ze kwadratowi wystarczy 1 wartość w konstruktorze winksmiley.jpg - powtórzę, nie to jest problemem tego tematu.

A co do linku: nie rozwiązało to mojego problemu. Tzn. nie widzę tam rozwiązania jak przekazać wartości do konstruktora poprzez klasę pochodną.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.