对象基础与mysql编程入门
时间: 2018年9月29号 天气:晴
1. 问答: 什么类,什么是对象,举例说明;
答: 回答这个问题,先理清楚类和对象是怎么来的。为什么要学习类和对象?
面向对象(OOP,Object Oriented Programming):
起初,“面向对象”是指在程序设计中采用封装、继承、多态等设计方法。现在,面向对象的思想已经涉及到软件开发的各个方面。如,面向对象的分析(OOA,ObjectOriented Analysis),面向对象的设计(OOD,Object Oriented Design)、以及面向对象的编程实现(OOP,Object Oriented Programming)。而面向对象编程的两个重要概念就是类和对象。
类的解释与举例:
世间万物都有其自身的属性和方法,通过不同的属性和方法可以将不同的物质区分开来。例如,人具有身高、体重、肤色等属性,还可以进行吃饭、睡觉、学习等活动,这些活动可以说是人具有的功能。呃呃,可以把人看作是程序中的一个人‘类’,那么人的身高可以看作类中的属性,学习可以看作类中的方法。由此可得:类就是属性和方法的集合。是面向对象的核心与基础,通过类可以将一些零散用于实现某功能的代码进行整合与管理。
eg:创建一个运动类定义4个属性和3个方法:

对象的解释与举例:
类只是具备某项功能的抽象模型,而对象就是类实例化后的产物,仍然以人为例,人是一个类,黄种人是人,这句话逻辑没错,但人是黄种人这句话就错了(因为还有黑人、白人)。可以这么理解:对象就是一个看得见、摸得着的一个类。实例化类后对象不一定相等。

2. 编程: 参考object/demo3.php,自定义类与实例化,要求必须将属性私有化,通过公共接口__set()和get()进行访问
class文件夹中的CBA类
<?php
/**
*创建一个类,,并写出类中具有的方法和属性
*/
class CBA{
//全部使用私有属性
//省份
private $province;
//当家球星
private $name;
//身体素质
private $body = [];
//构造一个__construct()类通过外部调用时直接初始化
public function __construct($a,$b,array $c)
{
$this->province=$a;
$this->name=$b;
$this->body=$c;
}
//构造__get()允许外部访问
public function __get($name)
{
// TODO: Implement __get() method.
$msg = null;
if(isset($this->$name)){
$msg = $this->$name;
}else{
$msg = '无此属性';
}
return $msg;
}
//构造__set()允许外部访问
public function __set($name, $value)
{
// TODO: Implement __set() method.
$this->$value;
}
}
demo2中实例化CBA后的对象
<?php
header('Content-type:text/html;charset=utf-8');
require 'class/CBA.php';
$cba = new CBA('新疆省','阿布',['身高'=>'203cm','体重'=>'80kg','体脂'=>'10%']);
echo $cba->province.'<hr>';
echo $cba->name.'<hr>';
$arr = $cba ->body;
foreach ($arr as $key=>$value){
echo $key.'=>'.$value.'<br>';
}
echo '<hr>';
echo $cba->sex;点击 "运行实例" 按钮查看在线实例
本机运行图:

3. 编程: MySQL常用的增删改查语句(CURD),每个语句必须写10遍以上

朱老师的staff表中的数据我用SQL命令删除了,现在用SQL进行了插入、更新、查询操作。
4.编程: 数据库的连接与检测(至少写5遍以上,写到吐为止),将连接参数写到独立的配置文件,要求配置参数必须用数组来实现,并在连接脚本中正确引用。
config连接参数:
<?php
/**
* mysqli的连接参数
*/
//变量方式配置连接参数
//$db_host = '127.0.0.1';
//$db_name = 'php';
//$db_user = 'root2';
//$db_psw = 'root';
//$db_charset='utf-8';
//数组形式配置数据库连接方式
$db = [
'host' => '127.0.0.1',
'name' => 'php',
'user' => 'root',
'psw' =>'root1',
'charset'=>'utf-8',
];
demo连接数据库测试代码;
<?php
/**
* 数据库的连接与测试
*/
header('Content-type:text/html;charset=utf-8');
require 'config.php';
//这次玩用变量的形式
error_reporting(E_ALL^E_WARNING);
//这次使用的面向过程,
/*$conn = mysqli_connect($db_host,$db_user,$db_psw,$db_name);
//var_dump($conn);
//判断连接是否成功
if(! $conn){
die('<span style="color: red">错误的信息是:</span>'.mysqli_connect_error($conn));
}else{
echo '恭喜你,连接成功。';
}*/
//使用面向对象的方法来玩,且连接参数用数组的形式
$conn = new mysqli($db['host'],$db['user'],$db['psw'],$db['name']);
//测试是否连接成功
if ($conn->connect_errno){
die('<span style="color: red">错误的信息是:</span>'.$conn->connect_errno.':'.$conn->connect_error);
}else{
echo '恭喜你,连接成功。';
}点击 "运行实例" 按钮查看在线实例
本机运行图
1、密码错误:

2、正确连接

5 手写: 与MySQLil连接相关的几个属性和方法的名称,参数,与功能和用法

总结:
总的来说,这节课算是基础,不算什么,主要了解了mysql的连接测试与类与对象的基础入门。但希望检查老师能指出不足之处,不然我连自己错在哪里都不知道。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号