(36)面向对象的概述(38)类的声明与对象实例化

 (36)面向对象的概述

 

PHP面向对象的程序设计
 
  PHP5 
 
 数组和对象 : 都属于PHP的复合类型(一个变量可以存储多个单元)数组中可以存储多个元素,


而对象中不仅可以存多个变量进去还可以把函数存进去。
 因此对象比数组更强大,但是它使用没有数组灵活。 不仅可以存储多个数据,还可以将函数存在


对象


 对象的三大特性: 封装、继承、多态(数组里没有的而对象里有的三个特性)
只要是PHP5里面比PHP4多加进来的功能都是以对象的形式加进来的。PHP5最大的区别是引入了面向


对象,并且保留了上下兼容。可以把所有的程序都转向PHP5这种面向对象的形式。
 
面向对象编程(oop  ),每一个对象都可以接受、识别、处理、发送数据


PHP并不是一个完全面向对象的语言。


  面向对象和面向过程这间的区别
 
   面向过程的最小的单位: 函数,如果到处都是由对象组成的,那么这个程序就是面向过程的。
   面向对象的最小的单位: 对象


一、什么是对象 
   对象就是东西, 一个实体


   20桌子、20椅子,多少个东西(实体)就是多少个对象
   
  电话: 
   对象中有什么?
   想要别人知道这个电话是什么样子的这就是属性也就是变量: 品牌, 颜色,电池,大小,  。


。。。
 
    成员方法==函数定义功能的:打电话、发信息, 听音乐, 。。。。
 
   
   对象:
       数组中只保留数值。但是对象有两方面:
       
    成员属性==变量==定义对象的外观和状态
    成员方法==函数==定义对象的功能的


        不管是属性还是方法统称为成员
      总之,一静一动。


    文章:
    属性:标题、作者、来源、访问数


    方法:添加、修改、删除 。。。。。 。。。 
    
   电子商城的对象: 用户、购物车、商品、分类、定单、图片、文件对象 ...  


二、什么是类
   分类、类型、自己定义类型(自定义类型)
 
   桌子、椅子,电脑
   
  在类中定义这个类型的属性和方法,那么在后面创建的对象中就用你定义的方法。


三、 类和对象之间一个关系


  过程:声明类-->实例化对象(创建对象)--->用对象
 
        配置单    电脑          ---用电脑
 
  配置单:
 
     CPU:  E7400 2.8 
    内存: 2G DDR3
    显示: 512 9300
     主板: 
    
 price: 
    定义出一个电脑的类型(配置单就类)


     安装出100台电脑(每个电脑就是一个对象)
   所以没有配置单(声明类)就不能配置出电脑来(创建对象)
    
 类     声明
    对象   创建对象
 
 
   成员属性 : 


   成员方法 :
 在声明类时,类中的成员就是成员属性和成员方法(类的内容),对这个类创建的对象中的内容,


就是你在类中声明的内容。例如配置单中没有内存,那么创建对象中所有的电脑可能都会缺少内存



也就是说想要对象多一个功能就在类里面多声明一个功能,想要对象多一个属性那么就在类里面多


一个属性。
 
    类和对象之间的关系
   通过哪个类创建对象,这个对象就属于哪个类的。


   并不是面向对象的语法难,


   最难的就是如果设计出面向对象的程序;例如:一个项目要用多少个类?定义什么样的类?每个


类是什么时候去创建对象?哪里能用到对象?对象和对象之间的关系?对象之间是如果传递信息的





假如说有这样一个项目,让你去组建五个多媒体的教室,每个教室要供五十个学生使用。都是面向


对象的。首先我们需要五个房间,每个房间需要五十台电脑和五十张电脑桌、五十个椅子和一个投


影仪。能看到的实体都是对象。那么我们可以把对象分类:教室类、电脑类、椅子类、桌子类、投


影仪类。每个类是什么样的就在类里面去写。比如:椅子的高、宽、高、颜色等。电脑类的配置。


以此类推,每个对象都做好这样的准备,再把每个类分配到对象中。学生对对象的使用就可以讲对


象关联在一起。

 

(38)类的声明与对象实例化

一、类的声明
   1. 你要开发的是什么, 确定写什么类
  
   假如我们选择电话的类

  [修饰类的关键字] class 类名{
 成员:也就是
        1、成员属性:外观、颜色、电池容量、屏幕尺寸 ....    //必须与类型有关
 2、成员方法:打电话、发信息、播放音乐、拍照 ....    //必须与类型有关
  }
   
   在类中声明成员属性时: 前面必须有修饰词,当不知道使用那个时,就使用var,如果知道使用那一个修饰关键字,就不使用var了.例如封装就用privat
 
   类中的成属性,如果创建多个对象时,每个对象有不同的属性值时,不要直接组初值,所有的对象都公用的时候可以给初值,对象都不相同时就不需要,例如输出一个名字是zhangsan ,那么输出一千次都是zhangsan 吗??显然不会。

   在创建好对象之后再给值
   vat

   一个文件只保存一个类, 文件名中包含类名, 文件:类名.class.php
这样做的好处有两点:
   (1)、我们通过文件名可以看出这是一个类,可以看出这是一个什么样的类。是一个被包含的类
   (2)、如果文件命中不包含类名,那么它是不可以自动加载的。
  aaa bbb ccc
   变量: aaaBbbCcc   第二、三个单词的首字母大写
   函数:aaaBbbCcc   同上
   常量:AAABBBCCC    所有字母都大写
   类名:AaaBbbCcc    所有首字母大写
一定要有意义

 通过类来实例化对象
    1. 使用的是new 新建一个对象,加上类名,就是创建那个类的对象
   $对象引用=new 类名;
例如:
 $p1=new Person;
  $p2=new Person;
   2. 只要有一个new 关键字就是创建一个对象,创建一个对象就在内存的堆内存中分配了一个空间
所以以上创建的两个对象已经在内存中分配了两个空间。
  只有对象才在内存有存储空间,我们才能使用

2. 类中的成员一定要属于这个类,需要相关的属性跟方法


二、实例化对象

三、对象在内存中的分配

四、对象的使用
 
对象中的成员必须通过对象的引用来访问

对象->成员

 对象->成员属性=新值
 echo 对象->成员属性
 对象->成员方法

  $p1=new Person;
  $p2=new Person;
  $p3=new Person;

  $p1->name="zhasan";

  echo $p1->name;

  $p2->say();

name="zhasan"这是错误的,必须标明对象,因为上面有三个对象。

 
 
class Phone {        //类里面是空的这样写是不错的。
   //成员属性
   var  $pinPai;
     var $color;
   var $batteryCapacity;   //电池容量
   var $screenSize;      //屏幕尺寸
   //成员方法
   static function  call($number){     //打电话的方法
  
   }

  function message(){       //发短信的方法
 
  }

   function playMusic(){
  
   }

          function photo(){
  
   }  
  }

  class Person {
   var $name="zhangsan";
  }

 

 

class Person {         //声明人
   var $name;
 var $age;
 var $sex;

 function say(){
 
 }

 function eat(){
 
 }

 function run(){
 
 
 } 
  }

 这节课的内容:
类的声明

 类中成员属性

 类中成员方法
 
  对象的创建(对象实例化)

  对象中成员的访问形式


 

 







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值