php部分---面向对象:定义、实例化、构造函数、析构函数;
类 − 定义了一件事物的抽象特点。类的定义包含了数据的形式以及对数据的操作。
对象 − 是类的实例。一切皆对象。由类实例化出来的。
成员变量 − 定义在类内部的变量。该变量的值对外是不可见的,但是可以通过成员函数访问
,在类被实例化为对象后,该变量即可称为对象的属性。
成员函数 − 定义在类的内部,可用于访问对象的数据。
访问修饰符
public 公有的,任何地方都可以访问,包括类的内部、该类的子类和类实例化的对象
protected 受保护的,只能在该类或该类的子类中访问
private 私有的,只能在该类中访问
类是对象的模板,所以要定义规范、合理的类结构首先应该明确类应该具有的属性和方法:
定义语法:
class 类名 { public 成员变量1;
public 成员变量2; function 成员函数名()
{
$this->成员变量名; //(变量 $this 代表自身的对象。)
}
}
实例化:对象名=new 类名();
调用类里边的成员变量:对象名->成员变量名;
调用类里边的成员函数:对象名->成员函数名();
例题:计算两个圆之间的阴影面积
class yuan
{ public $banjing;
function mianji()
{ return$this->banjing*$this->banjing*3.14;
}
} $dayuan=new yuan();
$xiaoyuan=new yuan();
$dayuan->banjing=10;
$xiaoyuan->banjing=5;
echo$dayuan->mianji()-$xiaoyuan->mianji();
__开头的方法在面向对象里面成为魔术方法
PHP 构造函数(__construct)
构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。
构造函数的两大特殊:
1.写法特殊:方法名特殊
2.执行时间特殊:造对象的时候就执行
对对象里面的成员进行初始化
class yunsuan
{
public $a;
public $b;
function __construct($c,$d) //构造函数(construct)在实例化时,就开始执行
{
$this->a=$c;
$this->b=$d; //把参数的值赋给$a,$b }
function jia()
{
return $this->a+$this->b;
}
}
$ff=new yunsuan(10,5); //构造函数在new时 开始执行
echo $ff->jia();
析构函数(__destruct)
析构函数(destructor) 与构造函数相反,当对象结束其生命周期时(例如对象所在的函数已调用完毕),系统自动执行析构函数。
用来清理内存,当程序之行结束,来清楚用完的对象等;
class YunSuan
{
public $a;
public $b; //构造方法
function __construct($a1,$b1)
{
$this->a = $a1;
$this->b = $b1;
} //析构方法,在对象内存释放的时候执行
function __destruct()
{
echo "该对象释放了";
}
function Chu()
{
return $this->a/$this->b;
}
} //造对象
$y = new YunSuan(10,5); echo $y->Chu();
php部分---面向对象:定义、实例化、构造函数、析构函数;的更多相关文章
- PHP面向对象 实例化 构造函数 封装 继承 静态
PHP面向对象 实例化 构造函数 封装 继承 静态 面向对象: 一:定义类 class Dog { var $name; var $age; var $pinzhong; function Jiao( ...
- Java 基础入门随笔(7) JavaSE版——面向对象定义、特征:封装、构造函数
面向对象 面向过程:对于面向过程思想,强调的是过程(动作). 面向对象:对于面向对象思想,强调的是对象(实体). 特点: 1,面向对象就是一种常见的思想.符合人们的思考习惯.2,面向对象的出现,将复杂 ...
- 【C++ Primer 第15章】定义派生类析构函数
学习资料 • 基类和派生类析构函数执行顺序 定义派生类析构函数 [注意]定义一个对象时先调用基类的构造函数.然后调用派生类的构造函数:析构的时候恰好相反:先调用派生类的析构函数.然后调用基类的析构函数 ...
- C++ 类 & 对象-类成员函数-类访问修饰符-C++ 友元函数-构造函数 & 析构函数-C++ 拷贝构造函数
C++ 类成员函数 成员函数可以定义在类定义内部,或者单独使用范围解析运算符 :: 来定义. 需要强调一点,在 :: 运算符之前必须使用类名.调用成员函数是在对象上使用点运算符(.),这样它就能操作与 ...
- Javascript面向对象——创建对象、构造函数的原型
Javascript面向对象--创建对象.构造函数的原型 其实:JavaScript中的创建类,就是创建一个构造函数,在创建对象时用到new这个关键字, 一.创建对象 1.函数创建对象 functio ...
- C++构造函数/析构函数 设置成private的原因
C++构造函数/析构函数 设置成private的原因 标签(空格分隔): c/c++ 将构造函数,析构函数声明为私有和保护的,那么对象如何创建? 已经不能从外部调用构造函数了,但是对象必须被构造,应该 ...
- C++反汇编第一讲,认识构造函数,析构函数,以及成员函数
C++反汇编第一讲,认识构造函数,析构函数,以及成员函数 以前说过在C系列下的汇编,怎么认识函数.那么现在是C++了,隐含有构造和析构函数 一丶认识构造函数 高级代码: class MyTest { ...
- (二)Javascript面向对象编程:构造函数的继承
Javascript面向对象编程:构造函数的继承 这个系列的第一部分,主要介绍了如何"封装"数据和方法,以及如何从原型对象生成实例. 今天要介绍的是,对象之间的"继承 ...
- 079 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 04 实例化对象
079 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 04 实例化对象 本文知识点:实例化对象 说明:因为时间紧张,本人写博客过程中只是对知 ...
- 2016/3/21 面向对象: ①定义类 ②实例化对象 ③$this关键字 ④构造函数 ⑤析构函数 ⑥封装 ⑦继承
一:定义类 二:实例化对象 //定义类 class Ren { var $name; var $sex; var $age; function Say() { echo "{$this- ...
随机推荐
- 如何禁止在DBGRID末位自动添加一行记录
http://www.tc5u.com/cpp/xg-1730729.htm 用DBGridEh吧,只要设置属性alopAppendEh为false即可 最简单将DBGrid的option属性中goE ...
- ProcessOn:功能强大的在线作图工具(HTML5)
ProcessOn是一款专业作图人员的社交网络,这里汇聚很多业界专家.学者,同时他们分享的作品又形成一个庞大的知识图库,你在学习专业知识的同时还可以结交一些志同道合的新朋友. ProcessOn核心设 ...
- System.Web.HttpRequestBase转HttpWebRequest
/// <summary> /// Copies all headers and content (except the URL) from an incoming to an outgo ...
- POJ题目分类(按初级\中级\高级等分类,有助于大家根据个人情况学习)
本文来自:http://www.cppblog.com/snowshine09/archive/2011/08/02/152272.spx 多版本的POJ分类 流传最广的一种分类: 初期: 一.基本算 ...
- [转] linux中巧用ctrl-z后台运行程序
背景: 最近在执行一些长时间程序的时候,老是一不小心忘了输入‘&’ , 结果终端就卡在那里了,很是郁闷 以前总是再新开一个终端. 今天翻看<鸟哥的linux私房菜>的时候,发现介绍 ...
- Ubuntu 14.10 下设置静态IP
修改 /etc/network/interfaces 文件 sudo nano /etc/network/interfaces 修改为 # 前面的不变auto eth0 iface eth0 inet ...
- mysql 为某一数据库下所有表中添加相同字段
BEGIN DECLARE s_tablename VARCHAR(100); /*显示表的数据库中的所有表 SELECT table_name FROM information_schema.t ...
- 链表操作----将单链表向右旋转 K 个位置
给定一个单链表,设计一个算法实现链表向右旋转 K 个位置. 举例: 给定 1->2->3->4->5->6->NULL, K=3 则 4->5-> ...
- LeetCode----3 Sum
Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all un ...
- 多态-I(继承实现)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...