OOP Php 섹션 1
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 () 를 통해 접근합니다.따라서 보호된 속성에 접근해야 한다면, 이 종류를 확장해야 한다
Reference
이 문제에 관하여(OOP Php 섹션 1), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/tanzimibthesam/oop-php-part-1-3bo5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)