20150109--面向对象+对象传值-00

魔术方法

魔术方法也是一种方法,是一种在类内部定义的方法。魔术方法会在某个特定的情况下自动的被对象调用。

构造方法

构造方法就是对象在实例化之后会自动调用的方法。

语法:__construct()

构造方法的意义:给对象的属性进行初始化

兼容性构造方法

在低版本中没有构造方法__construct(),与其他语言一样,构造方法的名字与类名一致

兼容构造方法处理方式

析构方法

析构方法:对象被销毁的时候(销毁前),会自动调用的方法

语法:__destruct()

析构方法的意义:往往是为了释放内存(释放资源)

因为PHP不操作内存,通常内存都是交给操作系统去自动回收,所以在php中,析构方法使用的很少。

有哪些方式能够促使对象调用析构方法?

1. unset对象对应的变量

2. 置空

3. 指向其他变量

对象传值(理解)

将一个对象所用的变量赋值给另外一个变量,只会产生一个对象。

对象之间的传递默认的就是引用传递

对象比较(理解)

对象比较比的是否属于同一个类,之后再进行属性的比较

封装DB类

类名:DB

一个类应该单独存在于一个文件(一个文件中只有一个类定义),通常类文件的命名规范是:类名.class.php。

1. 创建一个文件:DB.class.php

2. 定义属性

在定义任何属性和方法的时候,都应该尽量的增加类对属性和方法的控制(尽可能的让数据只在类内部才能被操作:访问修饰限定符), private->protected->public

3. 初始化属性:构造方法

4. 连接数据库:单独存在一个方法,专门用于连接数据库。

5. 设置字符集:单独存在方法,设置字符集

6. 将SQL语句语法错误处理单独形成方法

7. 将所有要使用mysql_query执行的地方,调用db_query错误处理方法

8. 选择数据库:单独存在方法

9. 增加数据新增方法:返回自增长id

10. 增加查询数据的方法

a) 查询单行数据:一条记录,返回一个一维关联数组

b) 查询全部数据:多条记录,返回一个二维关联数组

删和改:返回的数据是受影响的行数:mysql_affected_rows();

作业:

封装自己的DB类

时间: 2024-12-29 23:24:26

20150109--面向对象+对象传值-00的相关文章

9、Cocos2dx 3.0游戏开发找小三之工厂方法模式与对象传值

重开发者的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/27704153 工厂方法模式 工厂方法是程序设计中一个经典的设计模式,指的是基类中只定义创建对象的接口,将实际的实现推迟到子类中. 在这里,我们将它稍加推广,泛指一切生成并返回一个对象的静态函数. 一个经典的工厂方法如同这样: Sprite* factoryMethod() { Sprite* ret = new Sprite(); //在这里对 ret

Java面向对象-对象的多态性

Java面向对象-对象的多态性 Java中的多态性表现: 1,方法的重载和重写(覆盖): 2,可以用父类的引用指向子类的具体实现,而且可以随时更换为其他子类的具体实现: 我们先搞个父类Animal: 1 package com.java1234.chap03.sec13; 2 3 public class Animal { 4 5 public void say(){ 6 System.out.println("我是一个动物"); 7 } 8 } 再搞两个子类,分别是Dog和Cat类,

第163天:js面向对象-对象创建方式总结

面向对象-对象创建方式总结 1. 创建对象的方式,json方式 推荐使用的场合: 作为函数的参数,临时只用一次的场景.比如设置函数原型对象. 1 var obj = {}; 2 //对象有自己的 属性 和 行为 3 // 属性比如: 年龄.姓名.性别 4 // 行为: 吃饭.睡觉.走路.讲课等... 动作 5 var obj2 = { 6 name: 'laoma', 7 age: 18, 8 sayHi: function(){ 9 console.log( name + 'say hi' )

20150109--面向对象+对象传值-01

回顾 mysql:函数和存储过程 -- 创建表 create table my_name(name char(2) not null)charset utf8; -- 定义全局变量 set @first = '甲乙丙丁戊己庚辛壬癸'; set @second = '子丑寅卯辰巳午未申酉戌亥'; -- 创建存储过程 delimiter $$ create procedure createName(in int_1 int) begin -- 循环变量 declare i int default 0

IOS各种传值之一(对象传值)

1:在不同的controllerview之间通过对象进行传值 //传值方向 从A到B //A控制器 界面: // //  ViewController.h //  Index // #import <UIKit/UIKit.h> #import "Person.h" @interface ViewController : UIViewController @property (weak, nonatomic) IBOutlet UITextField *name; @pro

前端对象传值

var obj=new Object();  //首先建立一个对象obj obj=$('form').serializeArray();  //obj获取序列化表单作为对象数组! obj= JSON.stringify(json); //将对象数组转化为JSON 格式                                                                        $.post("checkbox.php",{obj},function(re

第二课 第六节 面向对象(对象与类)、命名规范

1.面向对象 --一切事物皆对象,通过面向对象的方式,将现实世界的事物 抽象成对象,现实世界中的关系抽象成类.继承,帮助人们 实现对现实世界的抽象与数字建模. 2.对象 --对象是具体存在的.看得见.摸得着.可以直接使用的东西. 3.类 --类的实质是一种数据类型,类是对现实生活中一类具有共同特 征的事物的抽象. 4.变量的命名规范 --变量名应该是一个名词 --如果只有一个单词则全部小写,如果多个单词,除一个单词 以外,其余首字母大写.若变量是缩写,应该全部大写. --变量命名要有意义,不能乱

String类型传值以及对象传值

package Virtual; class Stan{ String mm = "hello"; } class Virtual { public static void main(String[] args) { Stan s=new Stan(); System.out.println(s.mm); change(s); System.out.println(s.mm); } public static void change(Stan s) { s.mm="say&q

Java面向对象-对象和类概述

java语言提供了定义类.成员变量.方法等基本功能. 类可以认为是一种自定义的数据类型,可以使用类来定义变量,所有使用类来定义的变量都是引用变量,它们都会引用到类的对象. java面向对象的三大特征:封装.继承.多态. 封装:提供了private.protected和public三个访问修饰符来实现 继承:extends关键字让子类继承父类 多态:父类引用指向子类对象,使用继承关系来实现复用时,子类对象可以直接赋给父类变量,这个变量具有多态性,编程更加灵活.(百度搜:花木兰替父从军引例) 类和对