Jump to content
php.lv forumi

OOP daži questioni!


thesnarkie

Recommended Posts

Ir klase core, klase alpha un klase beta.

Klase core satur propertijus un metodes.

 

Klase alpha extends klasi core.

Klase beta extends klasi core.

 

error_reporting(E_ALL);
class core {
public $error;

public function show(){
	return $this->error;
}
}

class alpha extends core{
public function __construct(){
	$this->error = "pardegam saule!";
}
}

class beta extends core {
public function __construct(){

}
}

$alpha = new alpha();
$beta = new beta();
echo "BETA: ".$beta->show()."<br />"; //BETA:
echo "ALPHA: ".$alpha->show()."<br />"; //APLHA: pardegam saule!

 

Nu lūk, bet jautājums kāpēc un kā likt beta->show(); arī parādīt to erroru? Viņas taču extendo vienu klasi or I don't get it. :D

Edited by thesnarkie
Link to comment
Share on other sites

Atkal tās sasodītās @ zīmītes...

 

Nu jā, ja tu extendo klasi, tu manto metodes un īpašības.

 

Viena objekta vērtības nekādā veidā nav saistītas ar otra objekta vērtībām šinī gadījumā.

 

Varbūt palasi par statiskām metodēm, īpašībām, bet man liekas, ka tu te centies nest to, ko nemaz nevari pacelt. Palasi labāk pamatus par oop un centies izprast, kas kā...

Link to comment
Share on other sites

rATRIJ, jā tā varētu, bet tas nav tas ko gribēju. Es gribēju izveidot tādu main klasi un tad vairākus moduļus, kuri pēc tam varētu lietot main klases propertijus un nebūtu katrā moduļa klasē kaut kāda čerņa jādara, lai izmantotu main klases propertijus. Tad katrs modulis varētu arī main klasē mainīt propertijus u.tml..

Edited by thesnarkie
Link to comment
Share on other sites

Es nesaprotu tad tevi. Ko tu iisti gribi? Ja tu veelies lai abas klases izvada vienu un to pashu - kaadeelj tad tu pats gribi dubleeties un to rakstiit child klasees? o_O

 

btw - child klase parent klases propertijus var override'ot (taapat kaa metodes).

 

class A {
 protected $t = 'Saule';

 public function show() {
   return $this->t;
 }
}

class B extends A {
}

class C extends A {
 protected $t = 'Meeness';
}

$a = new A;
$b = new B;
$c = new C;

echo $a->show() . '<br />'; // Saule
echo $b->show() . '<br />'; // Saule
echo $c->show() . '<br />'; // Meeness

Edited by rATRIJS
Link to comment
Share on other sites

rATRIJ, jā tā varētu, bet tas nav tas ko gribēju. Es gribēju izveidot tādu main klasi un tad vairākus moduļus, kuri pēc tam varētu lietot main klases propertijus un nebūtu katrā moduļa klasē kaut kāda čerņa jādara, lai izmantotu main klases propertijus. Tad katrs modulis varētu arī main klasē mainīt propertijus u.tml..

 

Tad veido to main klasi kā statisku.

http://www.php.net/manual/en/language.oop5.static.php

Link to comment
Share on other sites

Labi, man slinkums taisīt jaunu topiku, bet varāt pateikt kāpēc izmēt šo eroru

Parse error: syntax error, unexpected T_VARIABLE in C:\webserv\xampp\htdocs\cup.php on line 4

kods:

class lapa 
{
public $id = $_GET['id'];

function show()
{
  echo $this->id;
}
}
$radit = new lapa;
$radit->show();

4.rinda ir public $id..

Edited by chizijs
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...