Correction status:qualified
Teacher's comments:
什么是类: 类是具有相同属性和服务的一组对象的集合。为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分。在面向对象的编程语言中,类是一个独立的程序单位,应该有一个类名并包括属性说明和服务说明两个主要部分。
什么是对象:
对象是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组服务组成。从更抽象的角度来说,对象是问题域或实现域中某些事物的一个抽象,它反映该事物在系统中需要保存的信息和发挥的作用;它是一组属性和有权对这些属性进行操作的一组服务的封装体。客观世界是由对象和对象之间的联系组成的。
类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对一类对象的抽象就是类。类描述了一组有相同特性( 属性 ) 和相同行为 ( 方法 ) 的对象。
<?php /** *1.对象的创建 */ class GirlFriend { //类的成员,属性->变量,方法->函数 //public 访问控制 public $name ='范冰冰'; public $age = '26'; public $stature=[90,80,90]; //类中使用类似函数的方式 来定义方法 public function getInfo($name='', $age=0 ){ //$this当前类被实例化之后的对象 ->对象成员访问符 //初始化 $this->name = empty($name) ? $this->name : $name; $this->age = ($age == 0) ? $this -> age : $age; return '姓名:'.$this->name.' 年龄:'.$this->age; } public function getStature($stature=[]){ $this->stature=empty($stature)?$this->stature:$stature; return '胸围'.$this->stature[0].'腰围'.$this->stature[1].'臀围'.$this->stature[2]; } } //导入类 require 'class/GirlFriend.php'; //实例化一个类 创建对象的过程 $GirlFriend = new GirlFriend(); //var_dump($GirlFriend).'<br>'; echo $GirlFriend->name,'<br>'; // 访问类中成员中的属性变量 echo $GirlFriend->getInfo(), '<br>'; // 访问类中成员中的方法函数 echo $GirlFriend->getInfo('你好',30), '<br>'; // 访问类中成员中的方法函数 echo $GirlFriend->getStature([120,130,180]),'<br>';
点击 "运行实例" 按钮查看在线实例
<?php //声明一个类 class GrilFriend1 { //private 访问符限制的属性仅在当前对象内部可以使用 private $name ; private $sex ; private $age ; private $email ; private $tel ; //构造方法 对属性的初始化 在类实例化的时候自动调用 public function __construct($name,$sex,$age,$email,$tel) { $this -> name = $name ; $this -> sex = $sex ; $this -> age = $age ; $this -> email = $email ; $this -> tel = $tel; } //创建对外访问的公共接口 public function getName($admin='') { $msg='非法访问'; if(!empty($admin) && $admin=='admin'){ $msg = '姓名'.$this->name.'性别'.$this->sex.'年龄'.$this->age.'邮箱'.$this->email.'电话'.$this->tel; } return $msg; } //设置器 public function setAge($age=0){ if($age>=0 && $age<=120){ $this->age = $age; } } //获取器 public function getAge(){ return $this->age; } } //导入一个类 require 'class/GrilFriend1.php'; //实例化一个类 $grilfriend1 = new GrilFriend1('十月','男','18','123456@qq.com','123456'); echo $grilfriend1->getName('admin').'<br>'; $grilfriend1->setAge(26); //设置年龄 echo $grilfriend1->getAge(); //获取年龄
点击 "运行实例" 按钮查看在线实例
<?php class GirlFriend2 { private $name; private $age; private $sex; private $type = []; //属性收集器 //构造方法 在函数实例化的时候自动调用 public function __construct($name,$sex,$age) { $this -> name = $name ; $this -> sex = $sex ; $this -> age = $age ; } //类中用双下划线的方法是系统定义,由系统自动调用,叫魔术方法 public function __get($name) { $msg=null; if(isset($this->$name)){ $msg = $this->$name; }elseif (isset($this->type['$name'])){ $msg = $this->type['$name']; }else{ $msg='无此属性'; } return $msg; } //设置器 public function __set($name, $value) { $this -> $name = $value; } } require 'class\GirlFriend2.php'; $girlfriend2=new GirlFriend2('admin','男','18'); echo $girlfriend2->name; $girlfriend2->name='qwer'; echo $girlfriend2->name;
点击 "运行实例" 按钮查看在线实例
<?php $db=[ 'host' => '127.0.0.1', 'username' => 'root', 'password' => 'root', 'dbname' => 'user', 'charset' => 'utf8', 'sql' => 3306, ]; //导入配置文件 //require 'config.php'; //创建数据库连接 $mysqli= new mysqli ($db['host'],$db['username'],$db['password']); //选择数据库 $mysqli->select_db($db['dbname']); //设置数据库编码 $mysqli->set_charset($db['charset']); //判断数据库是否连接成功 if($mysqli->errno){ echo $mysqli -> error. ":" . $mysqli -> errno; }else{ echo '链接成功'; }
点击 "运行实例" 按钮查看在线实例