简单的面向对象
2016-05-12 13:48
274 查看
<?php class car extends conn//类的声明car 和继承conn { function select(){//声明一个方法,默认是public $sql="select * from users"; $res=mysql_query($sql) or die(mysql_error()); $arr=[]; while($rows=mysql_fetch_array($res)) {//感觉用mysql_fetch_assoc()也挺好,去除了键位整数的键值 $arr[]=$rows; } var_dump($arr); return $arr; } } class conn {//连接数据库 function __construct(){ //构造函数,对应的是destruct()析构函数 $link=@mysql_connect("localhost",'root','123456') or die(mysql_error()); mysql_select_db('test',$link) or die(mysql_error()); } } $car1=new car();//创建一个实例 $car1->select();//调用方法
类的继承,没有要求一定要在本身这个类的前面。用继承,简单实现连接数据库,个人认为,通常用到的一些增删查改的函数也可以封装起来。现在能够取到数据了,操作就不是什么大问题了,都是增删差改,但是郁闷的是不同的页面不同的类,不知道如何调用。难道是require(),然后混编,,?
基础巩固:
1.类的结构
class className{
public $attr1;//属性
public function(){//代码}//方法
}
2.构造函数、析构函数
当类实例化时自动执行的函数
function __construct(){//代码}
function __destruct(){//代码}
3.创建实例
$a=new className();
4.类的属性
在类中声明属性一定要确定是public、private、proteced、static中的一种,如果都不是,那么记得加上var,函数的话,不写默认就是public,
private的方法属性不能被继承,protected的属性和方法在类的外部不可见,但是可以被继承。
5.PHP中的继承
class B extends A//使用关键字extends,B继承了A
{
//代码
}
继承后,父类中的public属性方法都继承到了子类,private的属性方法都木有被继承,protected属性和方法被继承了,但是只能在内部访问
6.继承后的重载
子类继承了父类后,对于父类的某个方法或者属性改写叫做重载,
7.使用final关键字禁止重载和继承
在方法名之前加上final则使得方法不能在子类中重载,如果在类名之前加上final,则该方法不能被继承。
相关文章推荐
- PAT:BST
- iOS持续集成:jenkins+gitlab+蒲公英+邮件通知(Part 1)
- 折半查找的多种写法
- 除主键外 其余内容相同 避免重复插入的办法
- Windows环境下Release崩溃定位
- Unity3D/Plugins实现IOS设备二维码扫描功能
- MySQL 5.7.9 免安装配置
- 语法分析(4)...
- Http之Get/Post请求区别
- Proguard 不要混淆内部类
- 守护进程
- 基于common-fileupload实现文件上传
- 读书笔记(UIKit性能优化解析和Block经典实用)(一)
- L2-3. 月饼
- 移动端的头部标签和meta
- Handler+ExecutorService(线程池)+MessageQueue模式+缓存模式
- DQL
- 默认构造函数
- tableView的一些用法
- 【BDD】calabash 和 cucumber的使用