面向对象的三大特征及用法案例

本文深入探讨面向对象编程的三大特性——封装、继承和多态。详细解析了gusic魔术方法在封装中的应用,如何通过private修饰符保护内部属性。接着阐述了继承的概念、语法、实例,以及方法重写(重载)的规则。最后介绍了多态的基本概念,强调了多态在编程中的重要性。
摘要由CSDN通过智能技术生成

三大特证

  • 封装
  • 继承
  • 多态

1、封装

封装可以最大限度的保护类的内部细节,也就是说尽量不让类的调用着知道类的内部都有哪些属性,哪些方法。使用3p修饰符和gusic魔术方法来实现类的封装。

1.1 gusic魔术方法

  • __get(属性名):当在类外部访问非公有成员属性时,自动调用,
    并且,参数传入要获取的成员属性的名称,返回获取的属性值。
  • __unset(属性名):当在类的外部销毁非公有成员属性时,自动调用,
    并且,将正在销毁的成员属性名传递进来。
  • __set(属性名,属性值):当在类外部设置非公有成员属性时,自动调用,
    并且,将正在添加的成员属性的名字和值同时传进来。
  • __isset(属性名) :当在类外部判断非公有成员属性是否存在,自动调用,
    并且,将正在判断的属性名传进来。
  • __call(方法名和参数列表):当在类外部访问非公有成员方法时,自动调用,
    并且,将正在访问的方法名和参数列表传进来。

1.2 可以在类的外部获取或者设置属性,封装的意义就在于在类的外部不知道类有哪些属性。

<?php
class Book{
   
public $name;
public $age;
public $sex;
}
$p1=new Book();
$p1->name='常乐';

1.3 将类中的属性使用private修饰符修饰后,就无法在类的外部获取或者设置私有属性了。

class Book{
   
	private $name;
	private $author;
	private $price;
}
$p1=new Book();
$p1->name='cl';

可以通过构造方法为私有属性赋值,如下:

class Book{
   
	private $name;
	private $author;
	private $price;
	/*通过构造方法为私有属性赋值*/
	public function __construct($name,$author,$price){
   
	$this->name=$name;
	$this->author=$author
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值