一 . 面向过程和面向对象
- 面向过程:分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用
- 面向对象:把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问 题的步骤中的行为。
两者的不同点
- 面向过程效率比面向对象高,面向过程可以直接调用函数;面向对象必须先得到主体(对象),再调用内部函数;
- 编程复杂度:面向对象要高,面向过程简称面向对象后期比面向过程好维护
面对对象的三个特性
封装:把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
继承:子对象可以继承父对象的属性和行为,亦即父对象拥有的属性和行为,其子对象也就拥有了这些属性和行为。
继承概念的实现方式有三类:实现继承、接口继承和可视继承。
多态:指允许不同类的对象对同一消息作出响应,多态性包括参数化多态性和包含多态性。
二.类的封装
class 是定义类的关键字;public访问修饰符,表示公开的;private访问修饰符,表示私有的;function是定义方法的关键字
例:
<?php
class Myschool
{
public $a;
public $b;
public function test()
{
echo'123';
}
}
new 是实例化对象的关键字;
访问对象中的属性和方法,要使用符号->。访问属性时,属性名称的$不用添加
例:
<?php
class Myschool
{
public $a;
public $b;
public function test()
{
echo'123';
}
}
$str = new Myschool() //实例化
$str->a = '1835'; //赋值
$str->b = '张三';
$str->test(); //调用
构造方法
对象初始化
__construct: 定义构造方法的关键字
$this : 表示当前对象,只有在类的方法中,当访问成员变量(属性)或自己的方法时,才会用到$this
function __construct($name,$sex)
{
$this->name = $name;
$this->sex = $sex;
}
析构方法
网页执行完毕时,对象销毁前自动调用
__destruct():定义析构方法的关键字
function __destruct()
{
echo '执行析构方法';
}
DB封装类
DB类主要实现连接数据库、添加记录、删除记录、修改记录、查询记录等
插入数据:insert into student (id,name) values(1,'张三');
删除数据:delete from student where id = 4;
修改数据:update student set id='5'where id=6;
查询数据:select * from student;
赋值的参数称为:带默认值参数,带有默认值的参数在调用 时可以不能传参。
引用文件所用函数:require_once require include_once include
mysqli_connect_errno() 返回上次连接错误的错误代码
mysqli_connect_error() 返回上次连接错误的错误描述
mysqli_set_charset() 返回字符集对象