[面向过程&面向对象]
* 1、专注于解决一个问题的过程。面向过程的最大特点,是由一个一个的函数去解决处理这个问题的一系列过程。
* 2、专注于由哪个对象来处理一个问题。面向对象的最大特点,是有一个个具有属性和功能的类,从类中拿到对象,进而处理问题。
*
* 【面向对象】
* 1、什么是类?
* 具有相同属性(特征)和方法(行为)的一系列个体的集合,类是一个抽象的概念
* 2、什么是对象?
* 从类中,拿到的具有具体属性值的个体,称为对象。对象是一个具体的个体
*
* 人类,都有姓名、性别、年龄,但是这些属性都不能有具体的值。
* 张三,是人类中的一个对象!姓名张三、性别男、年龄23,将类的每一个属性具体赋值后,就成了张三这个对象。
*
* 3、类和对象的关系?
* 类是对象的抽象化!对象是类的具体化!
* 类仅仅表明这类对象有哪些属性,但是不能有具体的值,所以类是抽象的。
* 而对象,是将类的所有属性赋值后,产生的具体的个体,所有对象是具体的。
*
* 【类的声明与实例化】
* 1、如何声明一个类:
* class 类名{
* 访问修饰符 $属性[=默认值];
* [访问修饰符] function 方法(){}
* }
*
* 2、声明一个类的注意事项:
* ① 类名只能有字母数字下划线组成、开头不能是数字,必须符合大驼峰法则;
* ② 类名必须使用class修饰,类名后面一定不能有();
* ③ 属性必须要带访问修饰符,方法可以不带访问修饰符;
*
* 3、实例化对象及对象属性方法的调用?
* $对象名 = new 类名(); //()可以不带
*
* 类外部调用属性和方法:
* $对象名 -> 属性名; // 使用->调用属性时,属性名不能带$
*
* 类内部调用属性和方法:
* $this -> 属性名;
*
* 【构造函数】
* 1、什么是构造函数?
* 构造函数是类中的一个特殊函数,当我们使用new关键字实例化对象时,相当于调用了类的构造函数;
*
* 2、构造函数有什么作用?
* 实例化对象时,自动调用,用于给对象的属性赋初值!
*
* 3、构造函数的写法?
* ① 构造函数名,必须与类同名
* [public] function Person($name){
* $this -> name = $name;
* }
* ② 使用魔术方法__construct
* [public] function __construct($name=""){
* $this -> name = $name;
* }
*
*
* 4、构造函数注意事项:
* ① 第一种写法,构造函数名必须与类同名!!!!!!
* ② 如果一个类没有手写构造函数,则系统默认会有一个空参构造,因此可以使用new Person();
* 如果我们写了带参数的构造函数,则将不会再有空参构造,也就是不能直接使用new Person(); Person后面的()中的参数列表,必须符合构造函数的要求!!!
* ③ 如果两种构造函数同时存在,将使用__construct。
*
*
* 5、析构函数:__destruct():
* ① 析构函数在对象被销毁释放之前自动调用!
* ② 析构函数不能带有任何的参数
* ③ 析构函数常用于对象使用完以后,释放资源、关闭资源等!
*
*
* 6、魔术方法:
* PHP中,给我们提供一系列用__开头的函数,这些函数无需自己手动调用,会在合适的时机自动调用,这类函数称为魔术函数。
* 例如:function __construct(){} 在类new一个对象时自动调用
* function __destruct(){} 在对象被销毁时自动调用
*
* 我们要求,除了魔术方法之外,自定义的函数与方法不能使用__开头。
*
*
* 最后,一般对于功能比较复杂的类,我们会单独的写到一个类文件中。
* 类文件的命名,统一小写,使用“类名小写.class.php”的方式命名。
* 在其他文件中使用这个类时,可以用include导入这个.class.php文件。
PHP面向对象——1、基础
时间: 2024-10-20 10:00:09
PHP面向对象——1、基础的相关文章
JAVA学习(五):Java面向对象编程基础
Java面向对象编程基础 面向对象(Object oriented programming,OOP)技术是一种强有力的软件开发方法,它採用数据抽象与信息隐藏技术,来使软件开发简单化,以达到代码重用的目的. 1.OOP的3个特性(封装.继承和多态性) 封装是类的基础.指把类的相关实现细节隐藏起来,在类中将数据和实现操作的代码集中起来放在对象的内部.调用这些类时仅仅需直接使用类预留的接口就能够了. 继承提供了子类自己主动拥有父类数据结构和方法的机制.它表示类之间的一种关系. 多态指使一个对象被看成还
[.net 面向对象编程基础] (22) 事件
[.net 面向对象编程基础] (22) 事件 事件(Event)是学习.net面向对象编程很重要的一部分,在学习事件之前,我们实际上已经在很多地方使用了事件,比如控件的click事件等,这些都是.net设计控件的时候已经定义好的事件.除此之外,我们同样可以自己定义事件. 事件实际上是一种消息机制,当然点击控件时,click就通知处理他的方法去处理,实际上就是前面说的委托.因此我们可以说:事件是一种具有特殊签名的委托.而事件/消息机制是windows的核心,因此我们必须掌握他. 为了更加容易理
[.net 面向对象编程基础] (20) LINQ使用
[.net 面向对象编程基础] (20) LINQ使用 通过上节LINQ的基础知识的学习,我们可以开始使用LINQ来进行内存数据的查询了,我们上节说了LINQ的定义为:Language Integrated Query(语言集成查询)的简称,它是集成在.NET编程语言中的一种特性. 1.LINQ的构架 从这幅图中,我们可以知道LINQ包括五个部分:LINQ to Objects.LINQ to XML.LINQ to SQL.LINQ to DataSet.LINQ to Entities.
[.net 面向对象编程基础] (14) 重构
[.net 面向对象编程基础] (14) 重构 通过面向对象三大特性:封装.继承.多态的学习,可以说我们已经掌握了面向对象的核心.接下来的学习就是如何让我们的代码更优雅.更高效.更易读.更易维护.当然了,这也是从一个普通程序员到一个高级程序员的必由之路.就看病一样,普通医生只能治标,高级医生不但看好病,还能除病根. 1.什么时重构? 重构(Refactoring)就是在不改变软件现有功能的基础上,通过调整程序代码改善软件的质量.性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性.
[.net 面向对象编程基础] (7) 基础中的基础——修饰符
[.net 面向对象编程基础] (7) 基础中的基础——修饰符 在进入C#面向对象核心之前,我们需要先对修饰符有所了解,其实我们在前面说到变量和常量的时候,已经使用了修饰符,并且说明了变量和常量的修改符. 首先 修饰符是什么? 修饰符用于限定类型以及类型成员的申明 从定义可以看出按功能分为两类:访问修饰符和声明修饰符 1.访问修饰符 (5个) 访问修饰符 说明 public 公有访问.不受任何限制. private 私有访问.只限于本类成员访问,子类,实例都不能访问. protected 保护访
[.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式
[.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式 说起C#运算符和表达式,小伙伴们肯定以为很简单,其实要用好表达式,不是一件容易的事.一个好的表达式可以让你做事半功倍的效果,比如三元表达式,可以让你少写N多个if和case语句. 表达式 由 操作数(operand) 和 运算符(operator) 构成 1.运算符分类和优先级 2.运算符按操作数目分类 一元运算符 -x x++ x-- 二元运算符 x+y x+1 三元运算符 c ? x : y 3.表达式分类
[.net 面向对象编程基础] (21) 委托
[.net 面向对象编程基础] (20) 委托 上节在讲到LINQ的匿名方法中说到了委托,不过比较简单,没了解清楚没关系,这节中会详细说明委托. 1.什么是委托? 学习委托,我想说,学会了就感觉简单的不能再简单了,没学过或都不愿了解的人,看着就头大,其实很简单.委托在.net面向对象编程和学习设计模式中非常重要,是学习.net面向对象编程必须要学会并掌握的. 委托从字面上理解,就是把做一些事情交给别人来帮忙完成.在C#中也可以这样理解,委托就是动态调用方法.这样说明,就很好理解了. 平时我们会
[.net 面向对象编程基础] (17) 数组与集合
[.net 面向对象编程基础] (17) 数组与集合 学习了前面的C#三大特性,及接口,抽象类这些相对抽象的东西以后,是不是有点很累的感觉.具体的东西总是容易理解,因此我们在介绍前面抽象概念的时候,总是举的是具体的实例以加深理解. 本节内容相当具体,学起来也相当轻松. 1.数组 1.1 什么是数组? 数组是一种数据结构,包含同一个类型的多个元素. 1.2数组的初始化 string[] mystringArray; 类型+方框号 数组名 1.3数组初始化 我们知道数组是引用类型,所以需要给他分配堆
[.net 面向对象编程基础] (16) 接口
[.net 面向对象编程基础] (16) 接口 关于“接口”一词,跟我们平常看到的电脑的硬件“接口”意义上是差不多的.拿一台电脑来说,我们从外面,可以看到他的USB接口,COM接口等,那么这些接口的目的一就是让第三方厂商生产的外设都有相同的标准,也是提供一个对外通信或操作的入口. 只是C#的接口除了以上特点之外,还具有一种类似于模板的功能,我们定义一组接口,就像是一个模板.这点和抽象类不同,抽象类是先有子类或都子类的概念,从中抽象出一个类.而接口更像是我们要设计一台机器,先把这台机器对外的功能接
[.net 面向对象编程基础] (2) 关于面向对象编程
[.net 面向对象编程基础] (2) 关于面向对象编程 首先是,面向对象编程英文 Object-Oriented Programming 简称 OOP 通俗来说,就是 针对对象编程的意思 那么问题来了什么是对象,不是“女盆友”“找对象”的这个对象.当然也可以理解“女盆友”也是“对象”的一种. 面向对象中的对象,指一切皆是对象 专业述语解释我们无视就好 只所有面向对象编程,是因为之前有一个面向过程编程 面向过程——是指把问题分解成步骤,一步一步实现 面向对象——是把构成问题的事务分成各个对象