PHP入门-面向对象
本文介绍类的定义、抽象类、接口、类的属性和方法:
1、类
(1)类的定义
class First{
//成员
}
(2)类的特点:封装、继承(单继承)、多态 //和java语言一样
(3)规范:类名首字母通常大写,一个php文件通常只放一个类,该文件的命名规范是:类名小写.class.php
(4)注意:成员函数的内部不能直接调用成员属性,应该使用this关键字
(5)访问控制修饰符作用范围:
private | protected | public | |
---|---|---|---|
自己类中 | √ | √ | √ |
子类中 | √ | √ | |
类的外部 | √ |
2、抽象类
(1)抽象类的定义
abstract class First{
//成员}
(2)抽象方法
abstract function hello();
(3)抽象类的特点:抽象类不能直接实例化;抽象类中既可以有抽象方法又可以有非抽象方法
(4)使用关键字:extend让子类继承
3、接口
(1)接口的定义
interface First{
//成员}
(3)抽象类的特点:接口不能直接实例化;接口中只有抽象方法,并且可以省略关键字abstract
(4)使用关键字: implements让子类实现
4、类中常用的两个魔术方法
(1)__construct() //可以充当类的构造方法
(2)__tostring() //当类被直接输出时,自动调用
5、类的自动加载函数:
function __autoload($className){include strtolower($className).".class.php";}
PHP入门-面向对象相关推荐
- java基础快速入门--面向对象(基础)
类与对象 看一个养猫问题 张老太养了两只猫:一只名字叫小白,今年三岁,白色.还有一只叫小花,今年一百岁,花色.请编写一个程序,当用户输入小猫的名字时,就显示该猫的名字,年龄,颜色.如果用户输入的小猫名 ...
- 【极客学院】-python学习笔记-Python快速入门(面向对象-引入外部文件-Web2Py创建网站)
极客学院的课程,感觉很有意思,每节课都很短,但是很干货,我喜欢这个节奏 http://www.jikexueyuan.com/course/203.html 课程背景: Python语言功能强大, 能 ...
- Python入门--面向对象的特征-->封装
#面向对象的三大特征 #1.封装: 提高数据安全性 #将数据(属性)和行为(方法)包装到类对象中.在方法内部对属性进行操作,在类对象的外部调用方法. #这样,无需关心方法内部的具体实现细节,从而隔离了 ...
- 2018年第44周-scala入门-面向对象基础语法
scala和java都是可以运行在JVM上, 所以scala和java是可以互相调用, 那么问题来了, 既然已经有java语言存在, 为什么还要发明scala语言. 存在即合理, 所以我就想找下sca ...
- (Java入门)面向对象思想模拟坦克开炮,加速,减速行为
用面向对象的思想编写一个应用程序,该程序有两个类:Tank类和Fight类. 要求:1.模拟坦克加速.减速 2.给定炮弹的数量,模拟开炮行为. 3 ...
- 6.python入门-面向对象
文章目录 6.1 类与对象 1. 类 2. 对象 3. 类对象 6.2 类的成员 1. 类属性与实例属性 2.实例方法 3. 方法装饰器 3.属性装饰器 4.构造属性 5.一些相关的内置函数(BIF) ...
- C#入门面向对象编程(委托的使用)
委托的概念 一.了解委托(delegate) 1.委托是一种全新的面向对象语言特性,运行在.NET平台 2.基于委托,开发事件驱动程序变得非常简单 3.使用委托可以大大简化多线程的难度 二.理解委托 ...
- (十一)python3 只需3小时带你轻松入门——面向对象
类 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 例如: 人是一种类型,拥有年龄.身高.体重.性别等属性.具体一个人是一个对象,例如小明:小明 ...
- java入门 -- 面向对象关键字及内部类
1 static 我们有时候希望无论是否产生了对象或无论产生了多少对象的情况下,某些特定的数据在内存空间里只有一份,例如所有的中国人都有个国家名称,每一个中国人都共享这个国家名称,不必在每一个中国人的 ...
最新文章
- 想改善风险管理工作吗?做些基础性工作吧
- 基础练习 杨辉三角形
- 你最擅长哪种数学思维?
- python中可迭代对象,迭代器,生成器,协程
- __name__ == '__main__'
- MATLAB学习笔记(十)
- Java之JDBC①
- timerfd.h中定义的函数
- 冰河木马实验(V8.4)
- Selenium和Firefox对应版本及注意事项
- asp毕业设计——基于asp+access的工资管理系统设计与实现(毕业论文+程序源码)——工资管理系统
- oracle瘦身,数据库瘦身
- 纯css实现动态渐变背景,一分钟学会
- 基于LDC1614 1612的电感式位移传感器
- 西安python程序员薪资_最新程序员薪资统计来了!Java均薪16K,Python22k!你拖后腿了吗?...
- 使用局域网IP地址作为小程序的测试IP
- DNSPod十问Neha Naik:以人民币结算海外IT业务的可能性?
- hiphop 2.1 开发问题总结 原创-胡志广
- n3160装微软服务器,英特尔赛扬N3160处理器性能跑分评测
- 猴子也能入门的Markdown