OOP Php 섹션 1

11315 단어 oopphp
OOP는 객체에 대한 프로그래밍을 의미합니다.프로세스 프로그래밍에서 우리는 데이터에 대한 실행 과정을 작성하지만 OOP에서 데이터에 대한 실행 작업의 클래스와 대상을 만든다.
1. 클래스, 대상, 방법, 구조 함수
클래스는 대상의 푸른 자국으로 우리가 주위에서 보는 모든 것을 대상이라고 할 수 있다.자동차, 학생 또는 동물을 모두 예로 들 수 있다.
<?php 
 class Student{
    //class is blue print of an object.Wtever we see around can be termed as an object
    //properties
    public $name;
    public $age;
}

?>
이것이 바로 우리가 PHP로 클래스를 작성하는 방식이다.
속성은 클래스의 특징이나 특성이다.만약 우리가 값을 분배하거나 대상 내부에 접근하는 모든 속성을 원한다면, 우선 이 종류를 실례화해야 한다.여기에서 우리는 속성 $name, $age에 따라 변수를 정의했습니다.
이런 종류를 실례화하다
//Instantiate the class
$stu=new Student();
//assign value to a property 
echo $stu->name="Tanzim";
echo $stu->age = 25;

이 $stu 변수는 새로운 종류를 실례화하는 데 사용됩니다.$stu 변수의 도움말 아래 클래스의 모든 속성에 값을 부여할 수 있습니다.
만약 우리가 한 줄에 모든 내용을 인쇄하고 싶다면, 우리는 쓸 수 있다
echo "His name is  $stu->name and his age is  $stu->age";

하지만 이것은 틀림없이 좋은 방법이 아닐 것이다.$stu처럼 이 종류를 여러 번 실례화하고 싶다면, $stutwo$stutwo를 만들고 싶다면, 이 코드는 장래에 다시 사용할 수 없습니다.우리는 매번 $stutwo->name과age를 사용해야 합니다. $stutwo->age는 같은 줄을 반복합니다.따라서, 그것은 우리의 코드를 연장할 것이다.
여기서 우리는 변수 $stutwo로 다시 실례화 클래스student를 사용합니다
//Instantiate the class
$stutwo=new Student();
//assign value to a property 
echo $stutwo->name="Tanzim";
echo $stutwo->age = 25;
echo "His name is  $stutwo->name and his age is  $stutwo->age";

메서드
그것들은 클래스 내의 함수로서, 그것들을 통해 우리는 클래스 내의 속성에 접근할 수 있다
class Student{
    //class is blue print of an object.Wtever we see around can be termed as an object
    //
    public  $name;
    public  $age;
    //methods
    public function profile()
    {
        # code...
        echo "His name is {$this->name} and his age is {$this->age}";
    }
}


클래스의 방법 내부의 모든 속성에 접근하려면 $this 키워드를 사용해야 합니다
$stu=new Student();
//assign value to a property 
echo $stu->name="Tanzim";
echo $stu->age = 25;
echo "<br>";

//We can want to print all properties ina place we can do 

echo "His name is  $stu->name and his age is  $stu->age";

$stu->profile();
$stu->profile () 를 통해 우리는 속성에 쉽게 접근할 수 있습니다. 만약 우리가 다른 학생을 실례화한다면, 이것은 두 학생입니다.
class Student{
    //class is blue print of an object.Wtever we see around can be termed as an object
    //
    public  $name;
    public  $age;
    //methods
    public function profile()
    {
        # code...
        echo "His name is {$this->name} and his age is {$this->age}";
    }
}

//Instantiate the class
$stu=new Student();
//assign value to a property 
echo $stu->name="Tanzim";
echo $stu->age = 25;
echo "<br>";

//We can want to print all properties ina place we can do 

echo "His name is  $stu->name and his age is  $stu->age","<br>";
$stu->profile();
//Instantiate another class with 
$stutwo = new Student();
//assign value to a property 
echo $stutwo->name = "Robin","<br>";
echo $stutwo->age = 25, "<br>";
echo "<br>";

//We can want to print all properties ina place we can do 

// echo "His name is  $stu->name and his age is  $stu->age";
$stu->profile();
$stutwo->profile();

?>
저희가 얻은 결과는요.

이것은 우리가 얻은 출력입니다. 두 번째 대상으로 이 클래스를 실례화할 때, 대상 $stutwo로 이 클래스의 모든 속성 $를 얻을 수 있습니다.stutwo->profile () 클래스의 속성에 접근할 수 있습니다.
이것은 좋지만, 매번 우리는 대상의 도움 아래 값을 분배해야 한다. 매번 우리는 새로운 대상으로 이 종류를 실례화한다
$stu=new Student();
//assign value to a property 
echo $stu->name="Tanzim";
echo $stu->age = 25;
echo "<br>";

//We can want to print all properties ina place we can do 

echo "His name is  $stu->name and his age is  $stu->age","<br>";
$stu->profile();
$stutwo = new Student();
//assign value to a property 
echo $stutwo->name = "Robin","<br>";
echo $stutwo->age = 25, "<br>";
echo "<br>";

여기서 실례화 클래스 Student$stu를 통해 첫 번째 대상을 만들고 다시 실례화 클래스 Student를 통해 다른 대상 $stutwo를 만듭니다.
이 두 가지 상황에서, 우리는 대상 $stu와 $stutwo를 사용하여 개요 파일에 접근할 속성 값을 부여합니다
이것은 좋지만, 더욱 효과적인 방법은 구조 함수 마법 방법을 사용하는 것이다.
2. 구조
하나의 대상만 만들면 대상의 속성을 초기화할 수 있습니다.
PHP는 construct () 함수를 생성할 때 객체를 인스턴스화하면 자동으로 호출됩니다.
여기에 magic method 구조에서 값을 출력했습니다
<?php 
class Student{
    public $name;
    public $age;


    public function __construct(){
        echo "Hello World from contructor";
    }

    public function profile(){
        echo "His name is {$this->name} and age is {$this->age}";
    }
}
$stu=new Student();
$stu->name="Tanzim";
$stu->age=25;
$stu->profile();
?>
여기서 우리는 실례화 클래스를 본 후에 구조 클래스에서 인쇄된 내용을 얻었다.

우리는 우리의 속성을 여기에 쉽게 놓고 매개 변수를 변수로 지정할 수 있다
 public function __construct($name,$age)
    {
        $this->name=$name;
        $this->age=$age;
    }


현재의 장점은 우리가 쉽게 매개 변수를 속성 값으로 이 매개 변수에 전달할 수 있다는 것이다
이 종류를 실례화하기만 하면 우리는 편찬할 수 있다
$stu=new Student("Tanzim",25);
echo "<br>";
$stu->profile();
echo "<br>";
$stutwo = new Student("Robin", 25);
echo "<br>";
$stutwo->profile();

우리는 지금 이 클래스를 두 번 실례화하고 두 개의 대상을 만든 다음에 실례화할 때 매개 변수를 값으로 전달할 수 있다. 위의 코드와 같다.
3. 상속
이것은 한 종류를 통해 다른 종류로부터 속성과 방법을 계승하는 방법이다
우선 클래스를 만듭니다.
class Student{
    public $age;
    public $name;

    public function profile()
    {
        # code...
        echo "His name is {$this->name} ans his age is {$this->age}";
    }

}

그리고 저희가 수업을 확장할게요.
class Administration extends Student{

}
$stu=new Administration();
$stu->name="Mark";
$stu->age=40;

$stu->profile();



만약 우리가 지금 출력을 보게 된다면, 우리는 하위 클래스가 부모 클래스의 모든 속성과 방법을 계승할 수 있고, 그것들은 부모 클래스의 속성에 값을 부여할 수 있다

여기에서 우리는 부류의 모든 속성을 계승하여 출력을 얻는 것을 보았다.우리는 부류로부터 부류와 방법을 계승했다.
또 다른 예, 만약 우리가 마술 방법의 구조를 보았다면
class Student{
    public $name;
    public $age;

    public function __construct($name,$age)
    {
        # code...
        $this->name=$name;
        $this->age=$age;
    }
}
그리고 우리는 새로운 클래스를 통해 이 클래스를 확장한다. 그러면 우리는 Student 클래스의 속성을 계승할 수 있다
class Administration extends Student{
    public $grade;
     public function __construct($name,$age,$grade)
     {
         $this->grade=$grade;
         parent::__construct($name,$age,$grade);

     }
     public function profile()
     {
         # code...
         echo "His name is {$this->name} his age is {$this->age} and he is in grade {$this->grade}";
     }
}


여기서 우리가 본 것은 관리류, 즉 아동류이다
public function __construct($name,$age,$grade)
     {
         $this->grade=$grade;
         parent::__construct($name,$age,$grade);

     }

부구조 방법을 통해 우리는 구조 방법에서 부류가 분배하는 속성을 쉽게 계승할 수 있다.
그렇지 않으면, 아버지 구조가 없다면, 우리는 반드시 작성해야 한다
public function __construct($name,$age,$grade)
     {
         $this->grade=$grade;
        $this->name = $name;
        $this->age = $age;
        //  parent::__construct($name,$age,$grade);

     }


$stu=new Administration("John",25,2);
$stu->profile();

3. 포장
그것은 세 가지 유형의 재산으로 구성되어 있는데 그것이 바로 공공재산, 개인재산과 보호받는 재산이다
<?php 
//Encaplusation there are 3 properties public,private,protected 
class Student{
    public $age;
    private $result;
    protected $address;
}

//Public property can be accessed from anywhere both inside and outside of class 
$stu=new Student();
echo $stu->age=25;
//private property id accessed out of the class will give us an error
 echo $stu->result;
//Even if we try to access protected property it gives us an error 
echo $stu->address;
 ?>

공공재산은 어느 곳에서든 방문할 수 있지만, 우리가 사유재산을 방문하려고 시도할 때, 그것은 우리에게 잘못을 준다
우리가 사유재산을 방문하려고 시도할 때 다음과 같은 오류가 발생할 수 있다

비록 우리가 보호된 재산에 접근하려고 시도한다 하더라도, 그것은 우리에게 잘못을 줄 것이다

개인 속성에 접근하려면setter와getter 방법을 사용해야 합니다
//Encaplusation에는 공공, 개인, 보호 등 총 3곳의 부동산이 있다
class Student{
    public $age;
    private $result;
    protected $address;

    public function setResult($result){
        $this->result=$result;
    }
    public function getResult()
    {
        # code...
        echo "His result is {$this->result}";
    }
}
setResult 함수에서 개인 속성result의 값을 설정할 수 있습니다.getResult에서 $result 인자를 전달합니다. 이것은 개인 속성입니다. 필요에 따라 이름을 붙일 수 있습니다.
//공공 속성은 클래스 내외 어느 곳에서든 접근할 수 있다
$stu=new Student();
echo $stu->age=25;
echo "<br>";
$stu->setResult(20);
$stu->getResult();
//클래스 밖으로 접근하는 개인 속성 id가 우리에게 오류를 줄 것입니다
//echo$stu->result;
//메아리"
$stu를 통해 setResult와 getResult 두 가지 방법을 방문하면 개인 속성 $result에 쉽게 접근할 수 있습니다.setResult에서 매개 변수 20을 전달해야 합니다.

이것이 바로 getResult 방법에서 20을 매개 변수로 지정할 때 얻은 결과입니다
class Adminstration extends Student{

    public function __construct($address)
    {
        # code...
        $this->address=$address;
    }
    public function getAddress(){
        echo "His address is {$this->address}";

    }

}
여기서, 우리는 이 종류를 확장하고, 보호된 속성에 접근하기 위해 구조 함수를 사용한다
$admin=new Adminstration("United Kingdom");
$admin->getAddress();
우리는 여기에 새로운 대상 관리를 만들고 매개 변수를 구조 함수에 분배한 다음 접근 방법gteAddress () 를 통해 접근합니다.따라서 보호된 속성에 접근해야 한다면, 이 종류를 확장해야 한다

좋은 웹페이지 즐겨찾기