Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Closed TopicStart new topic
> problem z protected
Jabol
post
Post #1





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

Ostrzeżenie: (0%)
-----


mam taki kod[php:1:28ea0a47c9]#!/usr/local/bin/php
<?php
abstract class abstr{
protected $name;
abstract function __construct();
protected function name(){
return $this->name;
}
protected function __destruct(){
return;
}
}
class used extends abstr
{
function __construct(){
$this->name="used";
}
}
$test=new used;
print $test->name();
?>[/php:1:28ea0a47c9]Ten kod wywala mi taki blad
Cytat
Fatal error: Call to protected method abstr::name() from context '' in /usr/local/apache/cgi-bin/classtest.php on line 20
Co tu jest nie tak? Z tego co wiem protected oznacza, ze metoda/wlasciwosc jest dziedziczona. Czy moze w php odnosi sie to tylko do wlasciwosci?

PS.
Z tego wynika, ze __construct() wywoluje sie nie tylko przy new klasa(); ale tez przy zwyklych wywolaniach new klasa;
Go to the top of the page
+Quote Post
Jabol
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

Ostrzeżenie: (0%)
-----


a no tak. Jeśli definiuje metode w klasie jako protected, to potem po dziedziczeniu ona nadal jest protected. Musiałbym zdefiniować inną metodę, która tą metodę wywołuje, lub zdefiniować tą matodę jako public w klasie nadrzędnej albo po prostu ją nadpisać w klasie podrzędnej...
Go to the top of the page
+Quote Post
php1983
post
Post #3





Grupa: Zarejestrowani
Postów: 19
Pomógł: 1
Dołączył: 3.08.2008
Skąd: Radom

Ostrzeżenie: (0%)
-----


Cytat(Jabol @ 11.05.2003, 10:38:58 ) *
zdefiniować tą matodę jako public w klasie nadrzędnej albo po prostu ją nadpisać w klasie podrzędnej...


a jak chcesz ją zdefiniować jako public i nie nadpisać?
Go to the top of the page
+Quote Post
mike
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Naprawdę sądzisz, że ~Jabol pięć [sic!] lat czekał na odpowiedź?
Czytaj daty postów.

Zamykam odgrzewanego kotleta.
Go to the top of the page
+Quote Post

Closed TopicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 02:11