Tutorial básico de PHP undécimo paso orientado a objetos

Cara a cara

La programación orientada a objetos se conoce como OOP (programación orientada a objetos). Es un tipo de abstracción o un tipo se describe de manera codificada. La comprensión conceptual no explica el problema de manera intuitiva Los siguientes ejemplos brindarán a los lectores una experiencia intuitiva de la orientación a objetos.

La clase representa una categoría. Por ejemplo, las personas, los automóviles, los animales y los líquidos pertenecen a una categoría. En PHP, usamos la clase para representar una categoría.
El objeto se refiere a la instanciación de esta clase. Por ejemplo, la clase humana tiene una especificidad. Por ejemplo, Xiaoming es un ser humano y Xiaoming es la especificidad de esta categoría; los animales también son una clase, y los objetos pueden ser monos, simios, caballos, etc.; Los líquidos también son En una categoría, el agua pertenece a la categoría de líquido y la leche también pertenece a la categoría de líquido.
Las funciones de los miembros generalmente se refieren a algunos atributos de esta clase. Por ejemplo, la categoría de personas tiene atributos como la edad, la altura, el sexo y el cabello; los líquidos tienen atributos como el color y la densidad.
La subcategoría se refiere a una derivación de una categoría parental, es decir, la categoría de seres humanos pertenece a los animales, la categoría de animales es la categoría parental de seres humanos y la categoría de seres humanos se refiere a las subcategorías de animales.
La clase padre es el padre de una clase, como se explicó anteriormente.
Los métodos de clase pueden referirse a algunas acciones de la interfaz en la clase, por ejemplo, la gente puede comer, la gente puede caminar, etc.

El ejemplo orientado a objetos más simple

A continuación, observe una definición de clase simple:

<?php
class Human {
    
    
  public $sex;
  public $hair;
}
?>

La palabra clave clase definida anteriormente define una clase humana. Humano es el nombre de una clase. Al igual que el nombre de la función, puede configurarlo usted mismo. Humano significa humano, y lo que se define aquí es una categoría humana. La propiedad de las personas con el nombre y la edad, entre paréntesis después del nombre de la clase, escrito public $sex;y public $hair;método, público es una modificación de variables y métodos, lo que indica que la variable o método es público. Al igual que tu género, los forasteros pueden decirte si eres hombre o mujer por la apariencia. Estos atributos son públicos y pueden modificarse con público. Además de los métodos públicos que pueden modificar propiedades o métodos públicos, también puede usar privado para modificar algunos métodos privados, como el método de digestión del estómago, al que solo usted puede llamar, y los extraños no pueden usarlo. Este método se puede modificar con privado (por supuesto Esta analogía no es una buena ilustración de este problema, usaré un ejemplo para ilustrar).
El siguiente ejemplo crea una instancia de la clase Human:

$Xiaoming=new Human();

En este momento, esta clase solo se instancia, y $ Xiaoming es el objeto de la clase Humana. Podemos establecer un valor para este objeto. Es necesario agregar algunos métodos para establecer el valor:

<?php
class Human {
    
    
  public $sex;
  public $hair;
  
  public function set_Sex($val){
    
    
	  $this->sex=$val;
  }
  public function set_Hair($val){
    
    
	  $this->hair=$val;
  }
}

$Xiaoming=new Human();
?>

El código anterior public function set_Sexdefine una función, una función llamada set_Sex, usando el público modificado, indicando que la función se puede llamar directamente; esta función acepta un parámetro, el parámetro se llama $ val. En las llaves de la función set_Sex, el código es $this->sex=$val;, $ este es el objeto actual, que se refiere a la clase actual, y ->representa un puntero, $this->sexque es el atributo de miembro del sexo (variable) en la clase actual, y la asignación es el $ val entrante. Las otras funciones set_Hair y set_Sex tienen la misma forma, así que no las repetiré.
A continuación, vea cómo llamar a estos dos métodos para establecer el valor:

<?php
class Human {
    
    
  public $sex;
  public $hair;
  
  public function set_Sex($val){
    
    
	  $this->sex=$val;
  }
  public function set_Hair($val){
    
    
	  $this->hair=$val;
  }
}

$Xiaoming=new Human();
$Xiaoming->set_Sex('nan');
$Xiaoming->set_Hair('y');
?>

En el código anterior, el objeto $ Xiaoming se usa para llamar a la función set_Sex con la flecha -> operador, y se pasa un valor de nan (pinyin para hombre y mujer) $Xiaoming->set_Sex('nan');:, el método de llamada de la función set_Hair es el mismo.
A continuación, cree dos métodos nuevos. Utilice estos dos métodos para llamar variables y ver si han cambiado:

<?php
class Human {
    
    
  public $sex;
  public $hair;
  
  public function set_Sex($val){
    
    
	  $this->sex=$val;
  }
  public function set_Hair($val){
    
    
	  $this->hair=$val;
  }
  
  public function get_Sex(){
    
    
	  return $this->sex;
  }
  
  public function get_Hair(){
    
    
	  return $this->hair;
  }
}

$Xiaoming=new Human();
$Xiaoming->set_Sex('nan');
$Xiaoming->set_Hair('y');

echo $Xiaoming->get_Sex();
echo ' ';
echo $Xiaoming->get_Hair();
?>

En el código anterior, use el método get_Sex () para obtener el género y use get_Hair para obtener el cabello. Se utiliza en la devolución de la función para devolver $this->sexun valor. $ this-> sex representa el atributo de miembro de sexo en el objeto actual. Luego use echo para la salida.
Los resultados son los siguientes:
Inserte la descripción de la imagen aquí

privado

Podemos modificar la modificación pública de set_Sex en la clase a privada. Después de usar privado, las llamadas externas reportarán un error:

<?php
class Human {
    
    
  public $sex;
  public $hair;
  
  private function set_Sex($val){
    
    
	  $this->sex=$val;
  }
  public function set_Hair($val){
    
    
	  $this->hair=$val;
  }
  
  public function get_Sex(){
    
    
	  return $this->sex;
  }
  
  public function get_Hair(){
    
    
	  return $this->hair;
  }
}

$Xiaoming=new Human();
$Xiaoming->set_Sex('nan');
$Xiaoming->set_Hair('y');

echo $Xiaoming->get_Sex();
echo ' ';
echo $Xiaoming->get_Hair();
?>

El error de ejecución es el siguiente:
Inserte la descripción de la imagen aquí
pero se puede llamar dentro de la clase. En el siguiente ejemplo, se crea una nueva función printInfo y se decora con privado. No se puede llamar externamente, pero aún se puede llamar internamente: Modifíquela para ver el ejemplo:

<?php
class Human {
    
    
  public $sex;
  public $hair;
  
  private function printInfo($val){
    
    
	  echo '传入的值是 '.$val.'<br/>';
  }
  public function set_Sex($val){
    
    
	  $this->printInfo($val);
	  $this->sex=$val;
  }
  public function set_Hair($val){
    
    
	  $this->hair=$val;
  }
  
  public function get_Sex(){
    
    
	  return $this->sex;
  }
  
  public function get_Hair(){
    
    
	  return $this->hair;
  }
}

$Xiaoming=new Human();
$Xiaoming->set_Sex('nan');
$Xiaoming->set_Hair('y');

echo $Xiaoming->get_Sex();
echo ' ';
echo $Xiaoming->get_Hair();
?>

En la función printInfo, se pasa un parámetro $ val y luego se emite este parámetro. El método printInfo se llama en el método set_Sex, se pasa $ val y se usa printInfo como indicador.
Los resultados son los siguientes:
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/A757291228/article/details/107352745
Recomendado
Clasificación