一:定义类   二:实例化对象

 //定义类
class Ren
{
var $name;
var $sex;
var $age; function Say()
{
echo "{$this->name}在说话";
}
}
//实例化对象
$Ren = new Ren();
//调用对象的成员:
$Ren->name = "张三";
$Ren->Say();

显示结果:

三:$this关键字

$this->name;  this代表该对象,如果要在成员方法中调用成员变量,一定要使用$this找出该成员变量

四:构造函数:

①html5以前,构造函数名必须与类型相同

②执行时间特殊,最早执行,作用成员变量初始化

无参:

 function __construct()
{
echo "空参构造函数";
}

有参:

 function __construct($n,$s,$a)
{
$this->name = $n;
$this->sex = $s;
$this->age = $a;
}

五:析构函数:

 function __destruct()
{
echo "析构函数作用断开连接销毁释放空间";
}

六:封装:private   set  get

成员变量 定义访问修饰符 直接把var去掉  换public private protect

将类里面的成员变量加一个private修饰符变成私有的,目的是为了保护类里面的成员不被外界随意访问,从而确保类的安全性。将变量设置为私有,如何去访问:

①自己写函数get函数set函数,然后来对变量赋值和取值
②用系统自带的__get()函数和__set()函数来实现类里面的变量赋值取值

 function __set($name,$value)
{
$this->$name = $value;
}
function __get($name)
{
return $this->$name;
}

七:继承

继承一般是单继承:一个儿子只能有一个父亲

①子类可以继承父类的所有成员
②子类可以对父类的成员方法进行重写:(函数名一样)

要在子类方法中调用父类的方法,用parent::Say();

 function Say()
{
parent::Say(); echo "hello";
}

final关键字可以定义类为最终类,不可被继承。

静态:关键字:static

如果成员声明了为静态的,那么该成员是属于该类的,不是属于对象的

 //如何调用静态的成员:
AA::$height = 10; //用类名加双冒号调用类的静态成员
AA::Hao();
 //面向对象
class Ren
{ private $sex;
private $name;
//方法 访问成员变量的方法
private $age;//封装用private
//封装:访问成员变量的方法
public function SetAge($age)
{
if($age>18 && $age<80)
{
$this->age=$age;
}
}
//成员变量 定义访问修饰符 直接把var去掉 换public
//封装:简便方法赋值
public function __set($name,$value)
{ if ($name=="age")
{
if ($value>18 && $value<80)
{
$this->$name=$value;
}
}
else{
$this->$name=$value;
}
}
//封装:简便方法获取值
public function __get($name)
{
return $this->$name;
} public function Say() //成员方法
{
echo $this->name."这个人在讲话";
} //1,构造函数,写法特殊,必须与类名相同 2,执行时间特殊 最早执行 作用成员变量初始化
function __construct($name,$sex)
{
$this->name=$name;
$this->sex=$sex;
}
//2,析构函数:对象销毁时自动用 用来释放内存,关闭连接等
function __destruct()
{
echo "该对象马上销毁";
}
}
//继承
class Student extends Ren
{
public $class;
//父类方法的扩展和重写
function Say()
{ parent::Say();//调用父类中的方法
echo "子类方法";
}
}

2016/3/21 面向对象: ①定义类 ②实例化对象 ③$this关键字 ④构造函数 ⑤析构函数 ⑥封装 ⑦继承的更多相关文章

  1. JavaScript 面向对象编程(三):非构造函数对象的继承

    JavaScript 面向对象编程(三):非构造函数对象的继承 一.什么是"非构造函数"的继承? 比如,现在有一个对象,叫做"中国人". var Chinese ...

  2. java面向对象之 类和对象

    OOP:Object Oriented Programming(面向对象编程) 面向对象: 1:将复杂的事情简单化. 2:面向对象将以前的过程中的执行者,变成了指挥者. 3:面向对象这种思想是符合现在 ...

  3. Python记录14:面向对象编程 类和对象

    '''现在主流的编程思想有两种,一种是面向对象,一种是面向过程面向过程编程 核心是过程二字,过程指的是解决问题的步骤,即先干什么.再干什么.最后干什么... 基于该思想编写程序就好比再设计一条流水线, ...

  4. Java面向对象(一) 类和对象

    一.软件开发进化史 摘自<从零开始学架构> 机器语言(1940年) 最早的软件开发使用的是“机器语言”,直接使用二进制码0和1来表示机器可以识别的指令和数据. 汇编语言(20世纪40年代) ...

  5. python -- 面向对象编程(类、对象)

    一.类 类是用来描述具有相同的属性和方法的对象的集合. 它定义了该集合中每个对象共同拥有的属性和方法. 类是一个独立的单位,它有一个类名,其内部包括成员变量和成员方法,分别用于描述对象的属性和行为. ...

  6. JS面向对象的类 实例化与继承

    JS中 类的声明有两种形式: // 类的声明 function Animal() { this.name = 'name' } // ES6中的class声明 class Animal2 { cons ...

  7. Java核心基础第5篇-Java面向对象_类和对象

    Java面向对象之类和对象 一.面向对象概述 Java是完全的面向对象编程(Object Oriented Programming),简称OOP. 面向对象编程的思维方式更加符合大家的日常生活,因为我 ...

  8. JavaScript基于对象(面向对象)<一>类和对象

    javascript中一切皆对象,比如:Array,Date.....这些都是对象.javascript中没有class的定义,function既是定义函数,也可以是定义类.function Obj( ...

  9. 077 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 02 类和对象

    077 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 02 类和对象 本文知识点:类和对象 说明:因为时间紧张,本人写博客过程中只是对知识点 ...

随机推荐

  1. RAID磁盘阵列及CentOS7启动流程

    1. 磁盘阵列 1.1 RAID,磁盘阵列磁盘通过硬件和软件的形式组合成一个容量巨大的磁盘组,提升整个磁盘的系统效能:RAID常见类型: RAID类型 最低磁盘个数 空间利用率 各自的优缺点 级别 说 ...

  2. svn服务

    svn服务实战应用指南 1.1     svn介绍 什么是svn? svn(sub-version)是近年来崛起的非常优秀的版本管理工具,与cvs管理工具一样,svn是一个跨平台的开源的版本控制系统, ...

  3. 关于 vertical-align

    默认情况下(行内基线位置 = 行内元素最大高度): 如果对这个正方形使用 vertival-align:middle.在最大高度的元素上使用负值(middle = - 50% * 元素高度),可以提升 ...

  4. JS模块之AMD, CMD, CommonJS、UMD和ES6模块

    CommonJS 传送门 同步加载,适合服务器开发,node实现了commonJS.module.exports和require 判断commonJS环境的方式是(参考jquery源码): if ( ...

  5. Python-接口自动化(十一)

    配置文件的作用(十一) (十二)配置文件 1.python当中有一个模块可以读取配置文件里面的信息:configparser,对这个模块进行导入之后就可以使用了,import configparser ...

  6. windows操作笔记

    使用服务或其他windows应用的过程中,可能会遇到莫名其妙的错误,这时候从控制面板中,找到管理工具,打开事件查看器,或者通过计算机管理,找到日志中的记录,如果是代码错误,会给出提示信息,比如之前在写 ...

  7. 如何取SQL结果集的第一条记录

    在SQL Server数据库中,使用top关键字: SELECT TOP number|percent column_name(s) FROM table_name 在MySQL数据库中,使用LIMI ...

  8. loadrunner使用随机值

    用户登录设置:系统用1000000001.1000000002等可以登录系统,这个代表登录的用户名

  9. spring boot学习02【如何在spring boot项目中访问jsp】

    1.配置application.properties文件 打开application.properties追加 spring.mvc.view.prefix=/WEB-ROOT/ spring.mvc ...

  10. xtu summer individual 1 D - Round Numbers

    D - Round Numbers Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u D ...