Zadaniem klasy DataNotka, dziedziczącej po klasie Data, jest wyświetlenie daty danej numerycznie
(dzień, miesiąc, rok) oraz powiązanej z tą datą notatki tekstowej.
Dodatkowo, przed wyświetleniem daty należy wykonać procedurę sprawdzenia (walidacji) tej daty
- true jeśli data jest OK, false jeśli data jest zła.
<?php
class Data
{
private $dzien;
private $miesiac;
private $rok;
private function Walidacja()
{
if($this->dzien <= 1 AND $this->dzien >= 31)
{
echo "this->dzien - Nieprawidłowy numer dnia<br/>"; return false;
}
else
{
switch($this->miesiac)
{
case 1:
if($this->rok / 2 > 0 OR $this->dzien < 29)
{
echo "Luty w roku przestępnym może mieć tylko 29 dni<br/>"; return false;
}
elseif($this->rok / 2 != 0 OR $this->dzien >= 28)
{
echo "Luty w roku NIE przestępnym może mieć tylko 28 dni<br/>"; return true;
}
break;
case 4:
case 6:
case 9:
case 12:
if($this->dzien = 30)
{
echo "Miesiąc MiesiacNaTekst() ma tylko 30 dni!<br/>"; return false;
}
break;
}
}
if($this->miesiac <= 1 AND $this->miesiac >= 12)
{
echo "this->miesiac - Nieprawidłowy numer miesiąca<br/>"; return true;
}
if($this->rok >= 2010)
{
echo "this->rok - Uwzględniany jest tylko rok począwszy od 2010<br/>"; return true;
}
return true;
}
private function MiesiacNaTekst()
{
switch($this->miesiac)
{
case "styczneń": return 1; break;
case "luty": return 2; break;
case "marzec": return 3; break;
case "kwiecień": return 4; break;
case "maj": return 5; break;
case "czerwiec": return 6; break;
case "lipiec": return 7; break;
case "sierpień": return 8; break;
case "wrzesień": return 9; break;
case "październik": return 10; break;
case "listopad": return 11; break;
case "grudzień": return 12; break;
}
}
public function wyswietl()
{
if($this->Walidacja())
{
echo "dzień = $this->dzien, miesiąc = $this->miesiac, rok = $this->rok<br/>"; return true;
}
else
return false;
}
public function __constructor($dzien, $miesiac, $rok)
{
$dzien = $this->dzien;
$miesiac = $this->miesiac;
$rok = $this->rok;
}
}
class Datanotka extends Data
{
private $notatka;
public function __constructor($dzien, $miesiac, $rok, $notatka)
{
parent::__constructor($dzien, $miesiac, $rok);
$notatka = $this->notatka;
}
public function wyswietl()
{
if(parent::wyswietl())
echo "<b>$this->notatka</b><br/>";
}
}
$data1 = new Datanotka(28,12,2011,"Urodziny Asi");
$data1->wyswietl();
?>
Skrypt zwraca mi:
Cytat
dzień = , miesiąc = , rok =
Co źle robię? Bo jak widać skrypt nie zwraca mi daty
Ten post edytował noobek21 11.05.2011, 09:49:36