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,在外部提通过实例化的对象−>属性名/方法名()private修饰的成员属性和成员方法在类的内部可以正常获取,方法同上,但是在类的外部只能获取public修饰的属性和方法。∗∗4)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
'; 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); }