类的构造方法和析构方法和封装的目的和封装的做法+访问修饰符

一.封装的目的:为了让类更安全。

封装的做法:

①类里面的成员变量做为private

②使用成员方法来间接访问成员变量

③在该方法里面加限制条件

注意:PHP类里面不允许出现同名方法。

二.访问修饰符

①public:代表公有的,在任何地方都可以访问。

②protected:代表受保护的,只能在该类或该类的子类中访问。

③private:代表私有的,只能在该类中访问。

三.类的构造方法注意事项

①构造方法名可以和类相同,也可以使用__construct();提倡时候后者。

②构造方法没有返回值。

③主要作用是完成对新对象的初始化,并不是创建对象本身。

④在创建对象后,系统自动的调用该类的构造方法。

⑤一个类有且只有一个构造方法。

⑥如果没有给类自定义构造方法,则该类使用系统默认的构造方法。

⑦如果给类自定义了构造方法,则该类的默认构造方法被覆盖。

⑧构造方法的默认访问修饰符是public。

四.析构方法

例题

<?php
    class Person{

    public $name;
    public $age;
    public function__construct($name,$age){
    $this->name=$name;
    $this->age=$age;
}
    function __destruct(){//这是析构方法

        echo $this->name."销毁资源<br />";

}
}

$p1=new Person("贾宝玉",16);
$p2=new person("林黛玉",14);

?>

通过上述例题得出:

1.析构方法会自动调用。

2.析构方法主要用于销毁资源。

3.析构方法调用顺序是,先创建的对象后被销毁。

4.析构方法什么时候被调用:

①当程序(进程结束)退出时。

②当一个对象称为垃圾对象的时候,该对象的析构方法也会被调用。

③所谓垃圾对象,就是指没有任何变量再引用它。

④一旦一个对象成为垃圾对象,析构方法就会立即调用。

类的析构方法的注意事项

①PHP5加入的析构方法  function __destruct()

②析构方法没有返回值。

③主要作用是释放资源的操作,并不是销毁对象本身。

④在销毁对象前,系统自动调用该类的析构方法。

⑤一个类最多只有一个析构方法。

时间: 2024-12-23 21:56:07

类的构造方法和析构方法和封装的目的和封装的做法+访问修饰符的相关文章

类的构造方法和析构方法

创建类的构造方法有两种: 1.在类里声明一个与类名相同的方法名(PHP4,不推荐用). 2.声明一个__construct()方法. 因为构造方法在对象创建完成后会自动调用,所以用构造方法来将类的成员属性初始化(赋值); class Person{ var $name; var $age; var $sex; function __construct($a="",$b=100,$c="male"){//给参数变量赋初值,因为如果在new对象的时候没有传值会报警告 $

【2017-04-14】命名空间、访问修饰符、封装、继承、多态

一.命名空间 namespace 命名空间名称 如果命名空间一致,才能在他下面访问那些不同的类,如果不一致是没有办法直接访问的. 不同命名空间下都是public访问修饰符,想要调用,得在using处引用命名空间 using .... 是引用的命名空间 二.访问修饰符(写在命名任何东西的最前面) public    公共的,访问权限最高 private    私有的,访问权限最低,只能在类的内部进行访问 protected   被保护的,当前类及他的派生类中进行访问 internal    默认的

C# 封装的访问修饰符

封装 被定义为"把一个或多个项目封闭在一个物理的或者逻辑的包中".在面向对象程序设计方法论中,封装是为了防止对实现细节的访问. 抽象和封装是面向对象程序设计的相关特性.抽象允许相关信息可视化,封装则使开发者实现所需级别的抽象. C# 封装根据具体的需要,设置使用者的访问权限,并通过 访问修饰符 来实现. 一个 访问修饰符 定义了一个类成员的范围和可见性.C# 支持的访问修饰符如下所示: Public:所有对象都可以访问: Private:对象本身在对象内部可以访问: Protected

【2017-4-14】访问修饰符 封装 继承 多态

1.命名空间/程序集 2.访问修饰符public 公共的 - 访问权限是最高的private 私有的 - 只能在类的内部进行访问 internal 默认的 - 当前命名空间(程序集)下可以访问protected 被保护的 - 当前类及它的派生类中可以访问 3.封装private 数据类型 _名称; //成员变量,字段public 数据类型 名称 //属性{ get{ return _名称; } set{ _名称 = value; }} 还可以有方法 //成员方法 4.继承: 子类:父类一个子类只

PHP面向对象的构造方法与析构方法

构造方法与析构方法是对象中的两个特殊方法,它们都与对象的生命周期有关.构造方法时对象创建完成后第一个被对象自动调用的方法,这是我们在对象中使用构造方法的原因.而析构方法时对象在销毁之前最后一个被对象自动调用的方法,这也是我们在对象中使用析构方法的原因.所以通常使用构造方法完成一些对象的初始化工作,使用析构方法完成一些对象在销毁前的清理工作.构造方法:①一个类只能有一个构造方法!②构造方法没有返回值.③构造方法的作用是对新对象的初始化,但并不能创造对象本来.在创建构造方法后,系统将自动调用构造方法

面向对象的过程、继承、封装、多态;抽象类、访问修饰符的使用、引用类型强制转换、方法重写@override与重载、空指针异常、super关键字

面向对象设计的过程:     发现类-发现类的属性-发现类的方法-优化设计: 封装: private类型的,只可以在本类中使用,当其他类调用此类时,不可使用,因此可以设置setget方法,如下所示: 构造------------------------ 默认有无参构造,若设置了有参构造,则就没有默认的无参构造了,需要自己再添加一个 方法重载------------------- 方法名相同,参数列表不同(类型,数量,顺序不同,与参数名无关): 与返回值,访问修饰符无关 面向对象(OO)的优点--

Java中各种(类、方法、属性)访问修饰符与修饰符的说明

类: 访问修饰符 修饰符 class 类名称 extends 父类名称 implement 接口名称 (访问修饰符与修饰符的位置可以互换) 访问修饰符 名称 说明 备注 public 可以被本项目的所有类访问(使用),其他项目若想使用本项目中的类,必须将本项目打包为jar包,然后加入到classpath中 public类必须定义在和类名相同的同名文件中 (default) 只能被同一个包中的类访问(使用) 默认的访问权限,可以省略此关键字,可以定义在和public类的同一个文件中 修饰符 名称

1.27 Java基础总结 ①访问修饰符访问权限②类和方法的基本声明和使用1.27 Java基础总结 ①访问修饰符访问权限②类和方法的基本声明和使用

1.27 Java基础总结 ①访问修饰符访问权限②类和方法的基本声明和使用 成员变量(属性)①类中添加成员变量 访问修饰符 类型 变量名 private String name ②实例化对象调用类的构造方法类构造对象,Teacher one = new Teacher(): 有static的可以直接调用,因为static是类级别的 ③JavaBean里边一般规则应该有公共的无参构造应该有符合命名规范的get/set方法 ④对象的回收:没有任何引用指向该对象时,GC会回收 主动回收:对象 = nu

2017-9-20C#笔记(类,访问修饰符以及访问性,静态成员和实例成员,字段,Main方法,常量,对象的创建,类的属性)

软件开发的两种主要的方式为面向对象和面向过程,面向过程的焦点主要放在指令的组合和优化上,面向对象的焦点从指令转移到组织程序的数据和功能上. 类 程序的数据和功能被组织为逻辑上相关的数据项和函数的封装集合,称之为类.类作为一个有机的不可分割的整体,对外隐藏具体实现细节,从而实现可重用和易维护等特性,同时还提供了继承功能,支持子类获得父类特征. 类是一个能存储数据并执行代码的数据结构,是逻辑相关的数据和函数的封装,通常代表真实世界中的或概念上的事物. 类包括以下内容: (1) 数据成员:数据成员用来