computer.class.php
<?php class Computer { public $_name = 'dell'; public function _run() { echo '运行'; } } ?>
person.class.php
<?php class Person { public $_name = '人'; public function _run() { echo '在走'; } } ?>
Demo1.php
<?php header ( 'Content-Type:text/html; charset=utf-8;' ); //引入类文件即可 ///require 'computer.class.php'; //1.如果要包含多个类文件 ,是不是要一一引入。 //2.引入多个类文件,如果有用不到的,就会产生浪费 //3.引入了类文件,可能会遗漏,比如,创建一个对象,而这个对象的类文件没有引入。就会产生错误 //$_className = 类名 //只要实例化了,那么 $_className = 'Computer'; function __autoload($_className){ require strtolower($_className.'.class.php'); } $computer = new Computer(); echo $computer -> _name; $computer -> _run(); $person = new Person(); echo $person -> _name; $person -> _run(); ?>
Demo2.php
<?php header ( 'Content-Type:text/html; charset=utf-8;' ); class Computer { public $_name = 'dell'; public function _run() { echo '运行'; } //采用__call() 方法屏蔽调用 //__call() 里面有两个参数 private function __call($_methodName ,$_argList){ echo $_methodName.'()方法不存在'; print_r($_argList); } } $computer = new Computer(); $computer -> go('Lee',213); ?>
Demo3.php
<?php header ( 'Content-Type:text/html; charset=utf-8;' ); class Computer { public function _run() { echo '运行'; } private function __toString(){ return '我是对象的字符串'; } } $computer = new Computer(); echo $computer; ?>
Demo4.php
<?php header ( 'Content-Type:text/html; charset=utf-8;' ); class Computer { public $_name = 'dell'; public function _run() { echo '运行'; } } //引用传递 $computer1 = new Computer(); $computer2 = $computer1; $computer2 -> _name='ibm'; echo $computer1 -> _name; ?>
Demo5.php
<?php header ( 'Content-Type:text/html; charset=utf-8;' ); class Computer { public $_name = 'dell'; public function _run() { echo '运行'; } } //独立实例 $computer1 = new Computer(); $computer2 = new Computer(); $computer2 -> _name='ibm'; echo $computer1 -> _name; ?>
Demo6.php
<?php header ( 'Content-Type:text/html; charset=utf-8;' ); class Computer { public $_name = 'dell'; public function _run() { echo '运行'; } } //克隆 $computer1 = new Computer(); $computer1 -> _name='ibm'; $computer2 = clone $computer1; $computer2 -> _name = '联想'; echo $computer1 -> _name; echo $computer2 -> _name; ?>
Demo7.php
<?php header ( 'Content-Type:text/html; charset=utf-8;' ); class Computer { public $_name = 'dell'; public function _run() { echo '运行'; } public function __clone(){ $this->_name = '华为'; echo '克隆了'; } } //克隆 $computer1 = new Computer(); $computer2 = clone $computer1; echo $computer1 -> _name; echo $computer2 -> _name; ?>
Demo8.php
<?php header ( 'Content-Type:text/html; charset=utf-8;' ); class Computer { public $_name = 'dell'; private $_mode = 'i7'; public function _run(){} private function _go(){} } class NoteComputer extends Computer { } interface Person { } $computer = new Computer(); $noteComputer = new NoteComputer(); //1.检查类是否存在 echo class_exists('Computer'); //1 //2.获取对象的类名 echo get_class($computer); //Computer //3.获取类中公共的方法 //print_r(get_class_methods($computer)); print_r(get_class_methods('Computer')); //Array ( [0] => _run ) //4.获取类中的字段 print_r(get_class_vars('Computer')); //Array ( [_name] => dell ) //5.获取子类的父类 //echo get_parent_class('NoteComputer'); //Computer echo get_parent_class($noteComputer); //Computer //6.判断接口是否存在 echo interface_exists('Person'); //1 //7.判断对象是否是这个类,$noteComputer 的类是父类是 Computer echo is_a($noteComputer,'Computer'); //8.判断对象是否类的子类 echo is_subclass_of($noteComputer,'Computer');//1 //9.判断对象是否有这个方法 echo method_exists($computer,'_go'); //1 ?>
Demo9.php
<?php header ( 'Content-Type:text/html; charset=utf-8;' ); //反射,了解一下,入门 //查看自定义类 class Computer { public $_name = 'dell'; private $_mode = 'i7'; public function _run(){} private function _go(){} public static $_cpu; private static function tool() {} const PI = 3.14; } //使用反射列出他们的信息 //输出这个信息 Reflection::export(new ReflectionClass('Computer')); ?>
Demo10.php
<?php header ( 'Content-Type:text/html; charset=utf-8;' ); class Computer{} //系统内置的类 //Reflection::export(new ReflectionClass('DateTime')); $rc = new ReflectionClass('DateTime'); echo $rc -> getName(); echo $rc -> getFileName(); print_r($rc -> getConstants()); ?>
相关推荐
第九章 计划与估算 第二部分 软件生命周期工作流 第十章 需求工作流 第十一章 分析工作流 第十二章 设计工作流 第十三章 实现工作流 第十四章 交付后维护 第十五章 UML的进一步讨论 这...
第19章讨论了网络编程,即如何使用C++和Java进行网络通信。 第20章讲述了数据库编程,包括使用C++和Java语言进行数据存储和检索的方法。 这本书不仅适用于那些希望掌握C++和Java语言的专业人员,也适用于高等教育...
第三章Delphi面向对象编程思想 第九章对话框 第二章Delphi语法基础 第五章VCL组件应用 第八章VCL组件应用续2 第六章VCL组件应用续1 第十一章文件操作和管理 第十三章数据库编程 第十二章图形图像和多媒体技术 第十章...
### 十、面向对象编程的优点 面向对象编程有很多优点,包括提高程序的可读性和可维护性,因为对象提供了清晰的接口来封装内部实现的细节。面向对象还允许代码复用,可以通过继承机制来重用现有的代码,节省开发时间...
第九章和第十章则基于更现代的开发工具——Visual Studio 2008,这是一款功能强大的IDE,支持C++和其他多种编程语言。这两个章节可能涵盖以下内容: 1. MFC(Microsoft Foundation Classes)库:这是微软提供的一个...
面向对象分析与设计是软件开发过程中的核心环节,UML(统一建模语言)作为这一领域的标准工具,被广泛应用于需求分析、系统设计和沟通交流。"使用UML进行面向对象分析与设计 中文课件"是IBM软件学院提供的一套专业...
本书主要介绍的是: 第一章 对象、uml和java 第二章对象的精髓 第三章java中的对象 第四章面向对象的分析与设计 第五章用swing实现面向对象的...第十章面向对象开发的软件工具 第十一章编程:个人观点 第十二章下一步
适合初学vc程序设计的 第一章 C++基础知识 第二章 VC++6.0开发环境 第三章 windows编程基础 第四章 windows的图形设备接口与windows绘图 ...第十五章 工具条类及其应用 第十六章 文档-视图结构及其应用
第19章 国际化和本地化 第20章 泛型程序设计 第21章 访问数据库 第22章 获取XML数据 第23章 处理电子邮件 第24章 JSP技术应用 第5篇 综合案例 第25章 汉诺塔游戏 第26章 学生成绩查询系统 第27章 网上用户注册系统...
#### 第六章:面向对象程序设计 **知识点概述**: 1. **抽象类**:包含抽象方法的类,不能被实例化。 2. **接口**:一组抽象方法的集合,用于定义类之间的契约关系。 3. **继承与实现**:子类继承父类的属性和方法...
**第九章:多态性** 多态性(Polymorphism)指的是同一种行为在不同对象上表现出不同的形态。在C++中,多态主要通过虚函数(virtual function)和纯虚函数(pure virtual function)实现。它使得代码更加通用,增强...
在深入PHP:面向对象、模式与实践(第3版)的第17到19章中,作者详细探讨了三个关键的开发实践:版本控制、自动化测试和项目构建。以下是这三个主题的详细解读: 17、使用Subversion进行版本控制: Subversion...
第二章面向对象编程基础 第三章VB语法基础 第四章基本程序结构 第五章数组 第六章子程序和函数 第七章程序调试和错误处理 第八章窗体(Form)和简单的输入输出 第九章VB基本控件及简单程序设计 第十章单选按钮、复选框...
本书为中南大学精品教材立项项目,分为上下两篇共21章,涵盖了面向对象技术中Java开发环境配置、程序设计基础、面向对象原理以及UML的知识。本书使用的开发环境是JDK 1.6+Eclipse 3.3+Rational Rose 2003,逐步引领...
6. **第九章:Java多线程机制** - 多线程的基本原理和实现方式。 - 线程间的同步和通信。 7. **第十章:输入输出流** - 文件的读写操作。 - 字节流和字符流的区别及使用场景。 8. **第十一章:Java网络的...
这个课程涵盖了从第二章到第十一章的上机实践部分,旨在通过实际操作来巩固理论知识,加强学员对编程语言、软件工程方法和相关工具的理解。下面我们将详细探讨这些章节可能涵盖的关键知识点。 **第二章:编程基础...
第1章 对象的演化 1 1.1 基本概念 1 1.1.1 对象:特性+行为 1 1.1.2 继承:类型关系 1 1.1.3 多态性 2 1.1.4 操作概念:OOP程序像什么 3 1.2 为什么C++会成功 3 1.2.1 较好的C 3 1.2.2 采用渐进的学习方式 4 1.2.3 ...
020501_【第5章:面向对象基础】_面向对象、类与对象的定义笔记.pdf 020502_【第5章:面向对象基础】_类与对象的进一步研究笔记.pdf 020503_【第5章:面向对象基础】_封装性笔记.pdf 020504_【第5章:面向对象基础】...