PHP入门教程之面向对象基本概念实例分析

本文实例讲述了PHP面向对象基本概念。分享给大家供大家参考,具体如下:

Demo1.php

<?php
  //怎样去创建一个类 格式:修饰符 class 类名{}
  //我们去创建一个电脑的类,这类可以创建出对象(生产出电脑)
  class Computer { //类名第一个字母大写
  }
  //创建一台电脑出来,也就是对象的声明
  //格式:变量 = new 类名();
  //new Compuer() 表示实例化的过程(意思是创建一个对象)
  //$compuer1 = new Compuer() 这个过程就是把实例化对象的地址给 $compuer1
  //$compuer1 我们就可以称作为对象的应用
  $computer1 = new Computer();  //这是我们创建的第一台电脑
  $computer2 = $computer1;  //这是我们创建的第二台电脑
  var_dump($computer1);
  echo '<br/>';
  var_dump($computer1);
?>

Demo2.php

<?php
  header('Content-Type:text/html; charset=utf-8;');
// class Computer {
//   //字段成员的声明格式:修饰符 变量名 [=xxx];
//   public $_name = '联想';  //public 表示共有,类外可以访问
//   public $_model = 'i7';
// }
// //创建一个对象,生产出一台电脑 -> 表示指向
// $computer1 = new Computer();
// echo $computer1 -> _name;
// $computer1 -> _name = 'dell';
// echo $computer1 -> _name;
  class Computer {
    //字段成员的声明格式:修饰符 变量名 [=xxx];
    public $_name; //public 表示共有,类外可以访问
    public $_model;
  }
  //创建一个对象,生产出一台电脑 -> 表示指向
  $computer1 = new Computer();
  //给成员字段赋值
  $computer1 -> _name = '联想';
  //取值
  echo $computer1 -> _name;
?>

Demo3.php

<?php
  header('Content-Type:text/html; charset=utf-8;');
  class Computer {
    public $_name; //public 表示共有,类外可以访问
    public $_model;
    //创建方法的格式:修饰符 function 方法名(){}
    //如果不加修饰符,默认就是public
    function _run(){
      echo '我是运行的方法';
    }
  }
  //创建一个对象,生产出一台电脑 -> 表示指向
  $computer1 = new Computer();
  $computer1 -> _run();
?>

Demo4.php

<?php
  header('Content-Type:text/html; charset=utf-8;');
// class Computer {
//   //字段成员的声明格式:修饰符 变量名 [=xxx];
//   public $_name = '联想';  //public 表示共有,类外可以访问
//   public $_model = 'i7';
// }
// //创建一个对象,生产出一台电脑 -> 表示指向
// $computer1 = new Computer();
// echo $computer1 -> _name;
// $computer1 -> _name = 'dell';
// echo $computer1 -> _name;
  class Computer {
    //字段成员的声明格式:修饰符 变量名 [=xxx];
    public $_name; //public 表示共有,类外可以访问
    public $_model;
  }
  //创建一个对象,生产出一台电脑 -> 表示指向
  $computer1 = new Computer();
  //给成员字段赋值
  $computer1 -> _name = '联想';
  //取值
  //echo $computer1 -> _name;
  $computer2 = $computer1;
  echo $computer2 -> _name;
?>

Demo5.php

<?php
  header('Content-Type:text/html; charset=utf-8;');
  class Computer {
    public $_name; //public 表示共有,类外可以访问
    public $_model;
    //创建方法的格式:修饰符 function 方法名(){}
    //如果不加修饰符,默认就是public
    function _run($_who){
      echo $_who.'是运行的方法';
    }
  }
  //创建一个对象,生产出一台电脑 -> 表示指向
  $computer1 = new Computer();
  $computer1 -> _run('一站式建网站');
?>

Demo6.php

<?php
  header('Content-Type:text/html; charset=utf-8;');
  class Computer {
    //创建一个构造方法
    public function Computer(){
      echo '我是构造方法';
    }
  }
  //只要实例化,就可以运行构造方法
  //$computer = new Computer();
  new Computer();
?>

Demo7.php

<?php
  header('Content-Type:text/html; charset=utf-8;');
  class Computer {
    //创建一个构造方法
    public function __construct(){
      echo '我是比较先进的构造方法';
    }
  }
  //只要实例化,就可以运行构造方法
  //$computer = new Computer();
  new Computer();
?>

Demo8.php

<?php
  header('Content-Type:text/html; charset=utf-8;');
  class Computer {
    //创建一个构造方法
    public function __construct(){
      echo '我是比较先进的构造方法';
    }
    //析构方法
    public function __destruct(){
      echo '我是析构方法';
    }
    //普通方法
    public function _run(){
      echo '我是普通方法';
    }
  }
  //只要实例化,就可以运行构造方法
  $computer = new Computer();
  $computer -> _run();
?>

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

时间: 2016-09-09

PHP面向对象程序设计方法实例详解

本文实例分析了PHP面向对象程序设计方法.分享给大家供大家参考,具体如下: PHP5开始支持面向对象,示例如下: <?php class classname{ var $attr1; var $attr2; public $attribute; const PI = 3.14; // 构造函数 function __construct($param = 'default'){ echo "Constructor called with parameter $param<br /&g

PHP入门教程之面向对象的特性分析(继承,多态,接口,抽象类,抽象方法等)

本文实例讲述了PHP面向对象的特性.分享给大家供大家参考,具体如下: Demo1.php <?php header('Content-Type:text/html; charset=utf-8;'); //创建一个电脑类 class Computer { //什么叫做类内,就是创建类的花括号内的范围叫做类内,其他地方则类外. //public 是对字段的公有化,这个字段类外即可访问,赋值和取值 public $_name = '联想'; } $computer = new Computer();

PHP面向对象自动加载机制原理与用法分析

本文实例讲述了PHP面向对象自动加载机制原理与用法.分享给大家供大家参考,具体如下: 在学习PHP的面向对象的时候,会知道很多"语法糖",也就是魔术方法.有一个加自动加载的魔术方法,叫:__autoload(); 先看一段代码 <?php function __autoload($classname) { $filename = "./". $classname .".php"; include_once($filename); } new

PHP面向对象程序设计OOP继承用法入门示例

本文实例讲述了PHP面向对象程序设计OOP继承用法.分享给大家供大家参考,具体如下: <?php class Person { var $name;//protected var $sex; var $age; function __construct($name = "", $sex = "男", $age = 22) { $this->name = $name; $this->sex = $sex; $this->age = $age;

PHP面向对象程序设计之命名空间与自动加载类详解

本文实例讲述了PHP面向对象程序设计之命名空间与自动加载类.分享给大家供大家参考,具体如下: 命名空间 避免类名重复,而产生错误. <?php require_once "useful/Outputter.php"; class Outputter { // output data private $name; public function setName($name) { $this->name = $name; } public function getName()

PHP面向对象程序设计之类与反射API详解

本文实例讲述了PHP面向对象程序设计之类与反射API.分享给大家供大家参考,具体如下: 了解类 class_exists验证类是否存在 <?php // TaskRunner.php $classname = "Task"; $path = "tasks/{$classname}.php"; if ( ! file_exists( $path ) ) { throw new Exception( "No such file as {$path}&qu

PHP面向对象程序设计类的定义与用法简单示例

本文实例讲述了PHP面向对象程序设计类的定义与用法.分享给大家供大家参考,具体如下: <?php class Person { private $name; private $sex; private $age; function __construct($name = "", $sex = "男", $age = 22) { $this->name = $name; $this->sex = $sex; $this->age = $age;

php面向对象中static静态属性和静态方法的调用

本文实例讲述了php中static静态属性和静态方法的调用.分享给大家供大家参考.具体如下: 这里分析了php面向对象中static静态属性和静态方法的调用.关于它们的调用(能不能调用,怎么样调用),需要弄明白了他们在内存中存放位置,这样就非常容易理解了.静态属性.方法(包括静态与非静态)在内存中,只有一个位置(而非静态属性,有多少实例化对象,就有多少个属性). 实例: <?php header("content-type:text/html;charset=utf-8"); c

php类的定义与继承用法实例

本文实例讲述了php类的定义与继承用法.分享给大家供大家参考.具体如下: <?php /* * class */ class people { public $name; public $age; function __construct($namec,$agec) { $this->name = $namec; $this->age = $agec; } protected function getmessage() { return "姓名:".$this->

PHP面向对象之旅:深入理解static变量与方法

static关键字声明一个属性或方法是和类相关的,而不是和类的某个特定的实例相关,因此,这类属性或方法也称为"类属性"或"类方法". 如果访问控制权限允许,可不必创建该类对象而直接使用类名加两个冒号"::"调用. static关键字可以用来修饰变量.方法. 不经过实例化,就可以直接访问类中static的属性和static的方法. static 的属性和方法,只能访问static的属性和方法,不能类访问非静态的属性和方法.因为静态属性和方法被创建时

PHP面向对象程序设计高级特性详解(接口,继承,抽象类,析构,克隆等)

本文实例讲述了PHP面向对象程序设计高级特性.分享给大家供大家参考,具体如下: 静态属性 <?php class StaticExample { static public $aNum = 0; // 静态共有属性 static public function sayHello() { // 静态共有方法 print "hello"; } } print StaticExample::$aNum; StaticExample::sayHello(); ?> 输出:0   

PHP 面向对象 final类与final方法

final---用于类.方法前. final类---不可被继承. final方法---不可被覆盖. final类不能被继承. 如果我们不希望一个类被继承,我们使用final来修饰这个类.这个类将无法被继承.比如我们设定的Math类,涉及了我们要做的数学计算方法,这些算法也没有必要修改,也没有必要被继承,我们把它设置成final类型. 复制代码 代码如下: <? //声明一个final类Math final class Math{ public static $pi = 3.14; public

浅谈Java之终止继承:Final类和Fianl方法

前言 关键字Final不仅可以用来修饰变量,而且对类及其方法的继承也有很大的影响,本文将从类与方法两个方面介绍final关键字的功能. Final类 当关键字final用来修饰类时,其含义是该类不能再派生子类,换句话说,任何其他类都不能继承用final修饰的类,即使该类的访问权限为pubilc类型,也不能被继承:否则,将编译报错. 只有当需要确保类中的方法都不被重写时才应该建立最终(final)类,final关键字将会为这些方法提供安全,没有任何人能够重写final类中的方法,因为不能继承. 例

Java面向对象编程中final关键字的使用方法详解

在Java中通过final关键字来声明对象具有不变性(immutable),这里的对象包括变量,方法,类,与C++中的const关键字效果类似. immutable指对象在创建之后,状态无法被改变 可以从三个角度考虑使用final关键字: 代码本身:不希望final描述的对象所表现的含义被改变 安全:final对象具有只读属性,是线程安全的 效率:无法修改final对象本身,对其引用的操作更为高效 final 变量 定义final Object a,则a只能被初始化一次,一旦初始化,a的数据无法

python3 面向对象__类的内置属性与方法的实例代码

0.object类源码 class object: """ The most base type """ def __delattr__(self, *args, **kwargs): # real signature unknown """ Implement delattr(self, name). """ pass def __dir__(self): # real signatu

Spring获取ApplicationContext对象工具类的实现方法

 Spring获取ApplicationContext对象工具类的实现方法 (1)实现的工具类: package com.util; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; final public class ApplicationContextUtil { private s

详谈Java中Object类中的方法以及finalize函数作用

Object是所有类的父类,任何类都默认继承Object. 一.Object类中的方法 1.clone方法 保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常. 主要是JAVA里除了8种基本类型传参数是值传递,其他的类对象传参数都是引用传递,我们有时候不希望在方法里讲参数改变,这是就需要在类中复写clone方法. 2.getClass方法 final方法,获得运行时类型. 3.toString方法 该方法

Java AtomicInteger类的使用方法详解

首先看两段代码,一段是Integer的,一段是AtomicInteger的,为以下: public class Sample1 { private static Integer count = 0; synchronized public static void increment() { count++; } } 以下是AtomicInteger的: public class Sample2 { private static AtomicInteger count = new AtomicIn

PHP中Closure类的使用方法及详解

Closure,匿名函数,又称为Anonymous functions,是php5.3的时候引入的.匿名函数就是没有定义名字的函数.这点牢牢记住就能理解匿名函数的定义了. Closure 类(PHP 5 >= 5.3.0)简介 用于代表 匿名函数 的类. 匿名函数(在 PHP 5.3 中被引入)会产生这个类型的对象,下面我们来看一下PHP Closure类的使用方法及介绍. PHP Closure类之前在PHP预定义接口中介绍过,但它可不是interface哦,它是一个内部的final类.Clo

Java压缩文件工具类ZipUtil使用方法代码示例

本文实例通过Java的Zip输入输出流实现压缩和解压文件,前一部分代码实现获取文件路径,压缩文件名的更改等,具体如下: package com.utility.zip; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import

详解static 和 final 和 static final区别

众所周知,static 是静态修饰关键字:可以修饰变量,程序块,方法,类. 1.修饰变量. 得知:如果static修饰的是变量,则JVM会将将其分配在内存堆上,该变量就与对象无关,所有对该变量的引用都指向同一个地址. 因此我们使用该变量的时候,直接指明类的静态变量,当然修饰符必须 public public class StaticBean { public static String A = "A"; } 使用方式 public static void main(String[] a