对象基础与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的连接测试与类与对象的基础入门。但希望检查老师能指出不足之处,不然我连自己错在哪里都不知道。