PHP-面向对象 菜鸟版

1、概念
面向过程的写法:一步一步自己把所有的功能实现。
面向对象:是宏观调控的意思,不需要一步一步自己完成整个功能,把功能封装,让指定的对象去完成单独的功能,我们再去调用和指挥对象就可以。
2、类和对象
生活中的:
类是抽象的概念化的东西比如人类 动物类 家电类
具体的对象是可视的是具体的比如 每个人都是一个对象 猫和狗也算是对象 彩电冰箱等就是具体的对象。
类就相当于是一个模子,然后对象是根据模子造出来的,会有类的相关共性。
1)定义类和对象实例化
**

  • 以class开头
  • 类名首字母大写
    */
    class Person{

}
/*对象实例化
使用运算符 new 创建类的对象
*/
$p1=new Person();
$p2=new Person();
$p3=new Person();

2)面向对象的三大特征
封装、继承和多态
3)public和private的区别
public修饰的成员属性和成员方法在类的内部和外部都能正常使用,在内部通过 t h i s , 在 外 部 提 通 过 实 例 化 的 对 象 − > 属 性 名 / 方 法 名 ( ) p r i v a t e 修 饰 的 成 员 属 性 和 成 员 方 法 在 类 的 内 部 可 以 正 常 获 取 , 方 法 同 上 , 但 是 在 类 的 外 部 只 能 获 取 p u b l i c 修 饰 的 属 性 和 方 法 。 ∗ ∗ 4 ) this,在外部提通过实例化的对象->属性名/方法名() private修饰的成员属性和成员方法在类的内部可以正常获取,方法同上,但是在类的外部只能获取public修饰的属性和方法。 **4) this,>/privatepublic4)this指的是什么**
https://blog.csdn.net/leoly612200/article/details/78710231/
5、 常用魔术方法
5.1__construct()
这是构造方法,是为了初识化数据用的
如果在类的内部没有写构造方法,系统会帮你自动创建一个无参的构造方法。
5.2__destruct()
这是析构方法,主要是程序运行完毕销毁对象或者变量用的。
5.3__toString()
如果直接输出对象用echo会报错,我们有时候需要格式化对象以字符串的形式输出用到这个方法
5.4__set()和__get()
__get()是在外部调用一个不存在的属性或者用private修饰的成员属性的时候,会自动调用__get(),并且把成员属性的名字传递到__get()里当做参数
6、声明变量的方法
在这里插入图片描述
通过析构函数方法

最后实例化
一、继承
1)自己没有,别人的,可以拿来,就是继承
class A{
public $name;
public $age;
public function f1(){
echo ‘f1’;
}
}
class B extends A{

}
b 1 = n e w B ( ) ; v a r d u m p ( b1=new B(); var_dump( b1=newB();vardump(b1);
$b1->f1();

如果父类中的成员声明为 private,则字类无法继承
class A{

  • 父类中属性声明为私有,则字类就无法继承

private $name=‘onlifes’;
}
class B extends A{

}
$b1=new B();
echo KaTeX parse error: Expected group after '_' at position 51: …函数,会覆盖掉父类中的函数 _̲_autoload 在实际的开…obj)
{
$obj->work(); }
}插入代
Nurse.class.php

<?php class Nurse extends Women { public function work() { echo '护士在为病人扎针'; } } Teacher.class.php <?php class Teacher extends Women { public function work() { echo '老师在喋喋不休的上课'; } }码片` **三、PHP操作数据库** 错误记录: 不小心将 php.ini 中的 167 行的 分号(;) 取消掉了,导致执行如下代码时,出现错误 $con=mysqli_connect('localhost','root','root'); 错误信息如下: Fatal error: Uncaught Error: Call to undefined function mysqli_connect() in F:\10-mysqli.php:2 Stack trace: #0 {main} thrown in F:\10-mysqli.php on line 2 四、传统方式 mysqli 连接mysql数据库 $con=mysqli_connect('localhost','root','root'); if(!$con){ die('连接失败'); } // 选择数据库 mysqli_select_db($con,'test'); // 设置编码 mysqli_set_charset($con,'utf8'); $sql="select * from news"; $res=mysqli_query($con,$sql); while($row=mysqli_fetch_assoc($res)){ echo '
';
  print_r($row);
  echo '
'; } mysqli_close($con); > **五、面向对象写法** $host='localhost'; $user='root'; $pwd='root'; $db=new mysqli(); // 创建连接 $db->connect($host,$user,$pwd); // 选择数据库 $db->select_db('test'); // 设置编码 $db->set_charset('utf8'); $sql="select * from news limit 5"; $res=$db->query($sql); while($row=$res->fetch_assoc()){ echo '
'; 
   print_r($row);

}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值