사각형 함수 영역이라고 불리는 다른 클래스의 함수를 cuboid 클래스로 호출하려고합니다.다른 클래스의 함수 호출
abstract class Shapes
{
protected $name;
protected $colour;
function __construct($n, $c)
{
$this->name = $n;
$this->colour = $c;
}
thankyou! 적어도이 방법을 수정해야합니다 :
사각형 함수 영역이라고 불리는 다른 클래스의 함수를 cuboid 클래스로 호출하려고합니다.다른 클래스의 함수 호출
abstract class Shapes
{
protected $name;
protected $colour;
function __construct($n, $c)
{
$this->name = $n;
$this->colour = $c;
}
thankyou! 적어도이 방법을 수정해야합니다 :
먼저이 전체가 작동 의미하지 않는다
function callclassA() {
$area1=0;
$classA = new Square();
$area1 = $area1 + $classA->area();
}
을하지만, 적어도 당신이 아닌 객체의 메소드를 호출하려고하지 것이다 . 둘째
상기 callclassA() 메소드는 생성 및 변수를 작성하지만, 아무것도 반환하지, 그리고 이것은 클래스 변수의 결과를 지속하지있어된다. 같은 것을 시도하는 더 나은 것
class Cuboid extends Shapes
{
private $square=null;
private $area=null;
function __construct($n, $c, $s, $ns)
{
parent::__construct($n, $c);
$this->square=new Square("Square", $c, $s, $ns);
$this->area = $this->square->area();
}
public function area()
{
return (6* $this->area);
}
public function perimeter()
{
return (9* $this->area);
}
}
셋째 : 당신은 입방 형의 둘레가 9 번 사각형 영역입니다 확신? 사각 경계선의 무언가 일 것이 아닌가?
이 오류가 발생하는 것 같습니다 구문 오류 : 예상치 못한 '$ square'(T_VARIABLE), 예상 함수 (T_FUNCTION). 그래서 그것은 Cuboid extends Shapes 클래스 밑의 라인입니다. 덕분에 편집 : 당신은 주변에 관한 권리 ... 나는 지금 막 무작위 값을 추가했기 때문에 couldnt 지역 일하는 얻는다. 그래서 나는 먼저 일하는 지역을 얻는 것을 목표로해야한다. – user3320800
나의 나쁜. 클래스 바스는 시야가 부족한 곳입니다. 지금 내가 "개인"이라고 덧붙여 보았습니다. – amenadiel
점점 .. 오류가 발생했습니다 Square :: __ construct()에 대한 인수 1이 누락되었습니다. square 클래스 함수 구조 및 cuboid 클래스의 부모 생성 ..thanks – user3320800
독립적 인 클래스는 데이터를 공유하면 안되며 정상적인 방법으로는 불가능합니다.
class Square {
protected $s;
...
public function getSideLength() {
return $this->s;
}
}
class Cuboid {
...
public static function fromSquare(Square $square) {
return new static($square->getSideLength());
}
}
$square = new Square(...);
$cube = Cuboid::fromSquare($square);
귀하의 코드가 상세하게 적응하기에 너무 복잡하지만,이 희망을 통해 아이디어를 얻는 대신, 입방에 광장에서 변환 어댑터 방법을 제공한다.
안녕, ive 수정 3 내 메인 게시물을 업데이 트되었습니다. 그게 어떻게 생겼는지입니다. 내가 그것을 올바르게 했어. – user3320800
귀하의 printShape 방법은 어디에 있습니까? –
Square 클래스에서 "Square"를, Cuboid 클래스에서 "Cuboid"를 전달하는 목적은 무엇입니까? –
답장을 보내 주셔서 감사합니다. ive 님이 내 메인 포스트를 업데이트했습니다. 필자는 코드를 맨 위에 추가했습니다. print 함수가 추상 클래스 인 경우 – user3320800