
批改狀態(tài):合格
老師批語:聽懂已經(jīng)很不容易了, 畢竟我們是天天上課, 大家很辛苦
`<?php
//1、創(chuàng)建類
class Demo1{
//2、添加類成員
// 類成員分為
// 1、屬性 對應(yīng)外面的變量
// 2、方法 對應(yīng)外面的函數(shù)
public $a = ‘張三’;
public function getInfo()
{
$obj = new Demo1();
return $obj -> a . ‘hello’;
}
}
//3、訪問類成員
$obj = new Demo1();
echo $obj ->a;
echo ‘<br>‘;
echo $obj -> getInfo();
echo ‘<br>‘;
echo $obj ->a;
echo ‘<br>‘;
class Demo2{
//2、添加類成員
// 類成員分為
// 1、屬性 對應(yīng)外面的變量
// 2、方法 對應(yīng)外面的函數(shù)
public $a = '李四';
public function getInfo1()
{
echo $this ->a;
}
}
$obj=new Demo2();
echo $obj->getInfo1();
`
`<?php
//1
class Demo2{
public $ab = ‘李四’;
public $bb =’講師’;
public function getAb()
{
return $this -> ab ;
}
public function getBb()
{
return $this -> bb;
}
}
$obj = new Demo2();
echo $obj->getAb() . ‘<br>‘;
echo $obj->getBb() . ‘<br>‘;
`
`<?php
//1
class Demo3{
//2
public $aa;
public $bb;
public function __construct($aa,$bb)
{
$this ->aa =$aa;
$this ->bb =$bb;
}
public function getInfo()
{
return '我是: ' . $this->aa . $this->bb;
}
}
//3
$obj =new Demo3(‘李四’,’講師’);
echo $obj->getInfo();
echo ‘<hr>‘;
class Demo4{
//2
public $aa;
public $bb;
public function __construct($aa,$bb)
{
$this ->aa =$aa;
$this ->bb =$bb;
echo $this->getInfo();
}
public function getInfo()
{
return '我是: ' . $this->aa . $this->bb;
}
}
//3
new Demo4(‘李四1’,’講師’);
//echo $obj->getInfo();`
`<?php
//1
$_GET[‘username’]=’admin’;
echo $_GET[‘username’];
echo ‘<hr>‘;
class Demo4{
// 2
public $aa;
public $bb;
public function __construct($aa,$bb)
{
$this -> aa = $aa;
$this -> bb = $bb;
}
public function getInfo(){
return '我是: ' . $this->aa . $this->bb;
}
// public function get($name)
// {
// $username = $_GET[‘username’] ?? ‘’;
// if(isset($username)&& $username === ‘a(chǎn)dmin’){
// return isset($this->$name) ? $this -> $name: ‘屬性未定義’;
// }else{
// return ‘無權(quán)訪問’;
// }
// }
public function get($name)
{
// 僅允許用戶名是’admin’的用戶訪問,其它訪問返回: 無權(quán)訪問
$username = $_GET[‘username’] ?? ‘’;
if (isset($username) && $username === ‘a(chǎn)dmin’) {
return isset($this->$name) ? $this->$name : ‘屬性未定義’;
} else {
return ‘無權(quán)訪問’;
}
}
}
$obj = new Demo4(‘ipnx.cn’,’講師’);
echo $obj->aa;
echo ‘<br>‘;
echo $obj->getInfo();
echo ‘<br>‘;
echo $obj->name;
`
`<?php
class Demo5
{
public $aa;
public $bb;
public function __construct($aa,$bb)
{
$this ->aa =$aa;
$this ->bb =$bb;
}
public function getInfo(){
return '我是: ' . $this->aa . '講師: ' . $this->bb;
}
}
class Demo6 extends Demo5
{
private $cc;
public function construct($aa, $bb,$cc)
{
parent::construct($aa, $bb);
$this -> cc =$cc;
}
public function getInfo()
{
return parent::getInfo() . 'aaa' . $this->cc; // TODO: Change the autogenerated stub
}
}
$stu = new Demo5(‘gzg’,’aa’);
echo $stu -> getInfo();
echo ‘<hr>‘;
$obj = new Demo6(‘hyx’,’老師’,’php’);
echo $obj -> getInfo();`
`<?php
trait Test
{
public function getInfo()
{
return ‘我是: ‘ . $this->aa . ‘講師: ‘ . $this->bb;
}
}
class Demo6
{
use Test;
public $aa;
public $bb;
public function __construct($aa,$bb)
{
$this->aa =$aa;
$this -> bb = $bb;
}
}
class Demo7 extends Demo6 {
private $cc;
public function __construct($aa, $bb,$cc)
{
parent::__construct($aa, $bb);
$this->cc =$cc;
}
}
$obj = new Demo6(‘hyx’,’111’);
echo $obj -> getInfo();
echo ‘<hr>‘;
$sub= new Demo7(‘gzg’,’222’,’abx’);
echo $sub -> getInfo();
`
`<?php
interface iDemo
{
public function getInfo();
public function hello();
}
//1
class Demo7 implements iDemo
{
// 2
public $aa;
public $bb;
public function __construct($aa,$bb)
{
$this ->aa =$aa;
$this -> bb =$bb;
}
public function getInfo()
{
return ‘我是: ‘ . $this->aa . ‘講師: ‘ . $this->bb;
}
public function hello()
{
return 'Hello 大家晚上吃飽了嗎?';
}
}
//3
$obj = new Demo7(‘hyx’,’111’ );
echo $obj ->getInfo() .’<br>‘;
echo $obj -> hello() .’<br>‘;`
`<?php
abstract class Demo
{
abstract public function getInfo();
public function hello()
{
return ‘Hello 大家晚上吃飽了嗎?’;
}
}
class Demo8 extends Demo
{
public $aa;
public $bb;
public function __construct($aa,$bb)
{
$this->aa =$aa;
$this ->bb =$bb ;
}
public function getInfo()
{
return '我是: ' . $this->aa . '講師: ' . $this->bb;
// TODO: Implement getInfo() method.
}
}
$obj = new Demo8('hyx','111');
echo $obj->getInfo() . ‘<br>‘;
echo $obj->hello() . ‘<br>‘;`
學(xué)習(xí)了 OOP編程,可以聽懂,在簡單案例中也能使用。希望在后面的案例中能學(xué)會靈活應(yīng)用。
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號