Darmowe Forum
Maj 14, 2024, 00:07:44 *
Witamy, Gość. Zaloguj się lub zarejestruj.
Czy dotarł do Ciebie email aktywacyjny?

Zaloguj się podając nazwę użytkownika, hasło i długość sesji
Aktualności: Forum zostało uruchomione!
 
   Strona główna   Pomoc Zaloguj się Rejestracja  
Strony: [1]
  Drukuj  
Autor Wątek: Deklaracja Klasy w Java Script  (Przeczytany 2286 razy)
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« : Maj 23, 2014, 06:54:45 »

Formalnie Java Script nie posiada klas i obiektów jako takich, ale można.......

Klasa jest pewnym obiektem składającym sie z dwóch podstawowych elementów: danych i funkcji. Dane nazywane są "właściwościami" a funkcję noszą nazwę "metod". Obiekty są potomkami klasy, posiadają elementy klasy do której należą, lecz różnią się wprowadzonymi wartościami.

Deklaracja klasy/obiektu wymaga wywołanie specjalnej funkcji nazywanej konstruktorem. W języku JS konstruktor jest funkcją, która jest wywoływana ze słowem this.

Kończenie pracy z obiektem może być realizowane (ale nie musi) przez wywołanie destruktora. Destruktor to też funkcja z tym , ze czyszcząca obiekt z pamięci procesu.
 W Java Script istnieją własne klasy ale jest możliwość tworzenia własnych klas.
Przykład.
function samochod(firma,model,rok)
{this.firma=firma
this.model=model
this.rok_produkcji=rok
}


Wyżej przedstawiono metodę tworzenia klasy samochod. Jak wspominałem wyżej obiekt jest potomkiem klasy zatem stwórzmy obiekty czyli konkretne modele pojazdów:

var
samochod1=new samochod("Fiat","Punto", 2010);
samochod2==new samochod("Opel","Signum",2008);
var sam = new samochod('volvo','740', 1997);


« Ostatnia zmiana: Maj 23, 2014, 07:17:41 wysłane przez admin » Zapisane
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« Odpowiedz #1 : Maj 23, 2014, 07:18:35 »

Deklaracja metod w klasie.
Możliwe jest umieszczenie metody wewnątrz klasy.
Przykład: Klasa samochod

function samochod(firma,model,rok)
{this.firma=firma;
this.model=model;
this.rok_produkcji=rok;
this.przyspieszenie = function() {this.model; };
}


Inna metoda, która przedstawię polega na zadeklarowaniu funkcji na zewnątrz klasy i przypisaniu jej później w deklaracji klasy. Dla przykładu zaprogramujmy funkcje która wyświetla dane o pojeździe.

function wyswietl()
{
document.write("Marka pojazdu: "+this.samochod.firma+"");
document.write("Model pojazdu: "+this.samochod.model+" ");
document.write("Rok produkcji: "+this.rok+" ");
};

Wpiszmy  funkcję wewnątrz obiektu

function samochod(firma,model,rok)
{this.firma=firma;
this.model=model;
this.rok_produkcji=rok;
this.info = wyswietl;
}


Stwórzmy obiekty: samochod1 i samochod2:
var
samochod1=new samochod("Fiat","Punto", 2010);
samochod2==new samochod("Opel","Signum",2008);

Wywołanie funkcji/metody:

samochod1.info;
 
« Ostatnia zmiana: Maj 23, 2014, 07:35:03 wysłane przez admin » Zapisane
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« Odpowiedz #2 : Maj 23, 2014, 07:38:48 »

Przykład praktyczny. Skrypt umieszczony wewnątrz kodu html.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html>
<head>
  <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
  <meta name="Description" content=" [wstaw tu opis strony] ">
  <meta name="Keywords" content=" [wstaw tu slowa kluczowe] ">
  <meta name="Author" content=" [dane autora] ">
  <meta name="Generator" content="">

  <title> [tytuł strony] </title>

  <link rel="stylesheet" href=" [nazwa_arkusza_stylow.css] " type="text/css">

<script type="text/javascript">
function misio(wzrost,masa,szybkosc)
{ this.wzrost=wzrost;
this.masa=masa;
this.szybkosc=szybkosc;
}

</script>

   
   </head>

<body>
<pre>
<script type="text/javascript">
gosciu = new misio(178,120,100);
document.writeln(gosciu.wzrost);
document.writeln(gosciu.masa);
document.writeln(gosciu.szybkosc);
</script>

</pre>

<!-- tutaj wstaw tresc strony -->

</body>
</html>
Zapisane
Strony: [1]
  Drukuj  
 
Skocz do:  

Powered by SMF 1.1.11 | SMF © 2006-2008, Simple Machines LLC | Sitemap

Polityka cookies
Darmowe Fora | Darmowe Forum

rycerze-erathii glassed eneaekstraliga2014 sdzpolskirpg szkola-gartossa