PHP 面向对象封装

<?php
//类的概念
//对象的概念
//定义类
//class Ren
{
//成员变量
//成员方法 
}
//造对象
//$r=new Ren();
//调用对象的成员$r->

//面向对象三大特性:封装,继承,多态
//1.封装
//目的:让类更加的安全  做法:不让外界直接访问类的成员

//具体做法:
//1.成员变成私有:访问修饰符:(public公有的 private私有的 protected受保护的,只有该类和子类可访问)
//2.造成员方法,来操作变量

class Ren
{
 
     private $age;//私有成员
  private $name;
  private $sex;
  //构造函数 在造对象时,对成员变量进行初始化的
  /*特殊点:1.执行时间特殊:造对象new时自动执行
           2.写法特殊   __construct  */      
  function __construct($s)
  {
   $this->sex=$s;
  }
  
  /*(方法一)
 //造方法去给变量赋值 
 public function setAge($a)
 {
  if($a>18and$a<50 )
  {
  $this->age=$a;
  }
 }
 //取值
 function GetAge()
 {
   return $this->age; 
 }*/
 
 //(方法二)
 //3.适用类中提供的__get()和__set()方法,变量赋值的方法
 function __set($n,$v)
 {
   if($n=="age")
   {
    if($v>18and $v<50)
    {
       $this->$n=$v;
    } 
   }
   else
   {
    $this->$n=$v;
   }
 }
 //取值方法
 function __get($n)
 {
  return $this->$n;
 }
}

$r=new Ren("男");
//$r->age=20;
//$r->name="张三";
//echo $r->name;
var_dump($r);

?>

时间: 2024-10-09 22:48:00

PHP 面向对象封装的相关文章

python学习 面向对象封装

from collectoins import namedtuplePoint=namedtuple('point',['x','y'])t1=Point(1,2)print(t1.x)print(t1.y)没有方法的类属性不会发生变化    定义简单 不能改变面向对象封装私有属性!!!私有方法!!!用装饰器描述的几个方法@property !!!@classmethod!!@staticmethod! 封装:class Teacher:     def __init__(self,name,p

OC面向对象封装

OC面向对象封装 一.面向对象和封装 面向对象的三大特性:封装(成员变量),继承,多态 在OC语言中,使用@interface和@implementation来处理类. @interface就好像暴露在外面的时钟表面,像外界提供展示以及接口,@implementation就好像隐藏在时钟内部的构造实现,把具体的实现封装了起来. 二.Set方法 在研发过程中,考虑到安全性要求,我们一般不在成员变量名前面使用@public,@protected等关键字修饰,而是使用Set方法来为对象提供成员变量值,

面向对象 封装 、继承

构造函数: 构造函数 - 创建一个类的函数 每一个类都有构造函数,访问修饰符必须是public的,并且不需要写任何返回值,方法名与类名一致 自己写的类 - 用户自定义类型如果要使用自定义类型产生出来的  对象  必须有一个实例化的过程 实例化格式:类型名  ss = new 构造函数(); 访问修饰符 -  4个 public - 公共的,任何地方都可以访问,但是需要引用 命名空间 private - 私有的,类的内部才可以访问 internal - 内部的,默认的,程序集中可以访问,程序集就是

Java面向对象㈠ -- 封装

Java的面向对象有三大特征:封装.继承.多态.这里主要对封装进行讲解. 封装可以理解为隐藏一个类的成员变量和成员函数,只对外提供需要提供的成员函数. Java的封装主要通过访问权限控制符:private,默认,protected,public来实现.(这四个权限访问控制符的区别网上有很多,建议读者自行搜索学习,切记要亲自练习一下!)最明显的实现就是把类的成员变量私有(private),只能通过类的成员函数来进行访问,并且此时的成员函数公有(public).这就是著名的setter/getter

Atitit usbQb212 oo 面向对象封装的标准化与规范解决方案java c# php js

1.1. 封装性是面象对象编程中的三大特性之一  三个基本的特性:封装.继承与多态1 1.2. 魔术方法 预定义方法2 1.3. 魔术常量(Magic constants) 预定义变量2 1.4. 适用领域 js php java c#2 1.5. 构造函数 __construct( ) vs xxxCls()3 1.6. 析构函数名称必须是__destruct( )  finally()3 1.7. 私有属性 与工友属性3 1.8. $this指针3 1.9. __autoload() 类自动

使用java中,面向对象封装+继承的方法算题

1.第一种:给定一行字符,逆序输出此字符串(空格.数字不输出),如"ab 23,(4 cd"输出"dc(,ba".(要求:使用面向对象封装+继承) class Bu { private String str; public Bu(){} public Bu(String str){ this.str = str; } public String getStr(){ return str; } public void setStr(String str){ this.

面向对象封装的web服务器

import socket import re import os import sys # 由于前面太繁琐,可以用类封装一下,也可以分几个模块 class HttpServer(object): def __init__(self,port): # 1.服务器创建负责监听的socket self.socket_watch = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 2.设置地址重用 self.socket_watch.setsoc

php面向对象 封装继承多态 接口、重载、抽象类、最终类总结

1.面向对象 封装继承多态  接口.重载.抽象类.最终类 面向对象 封装继承多态  首先,在解释面向对象之前先解释下什么是面向对象? [面向对象]1.什么是类? 具有相同属性(特征)和方法(行为)的一系列个体的集合,类是一个抽象的概念2.什么是对象?从类中拿到的具有具体属性值得个体,称为对象,对象是一个具体的个体 所以,面向对象即我们专注对象来处理问题,通过从一个个具有属性和功能的类中拿到对象来处理问题. 下面我们再来细说下面向对象的三大特征:继承/封装/多态 一.继承 在PHP中我们主要通关E

面向对象封装、继承、多态

一.面向对象封装 01. 封装 封装 是面向对象编程的一大特点 面向对象编程的 第一步 —— 将 属性 和 方法 封装 到一个抽象的 类 中 外界 使用 类 创建 对象,然后 让对象调用方法 对象方法的细节 都被 封装 在 类的内部 02. 小明跑步案例 需求: 小明 体重 50公斤 小明每次 跑步 会减肥 1公斤 小明每次 吃东西 体重增加 0.5 公斤 class Person(object): def __init__(self, name, weight): self.name = na

python面向对象封装

# 面向对象封装案例:为新房子增添家具# 分析对象的属性# 房子属性:户型.面积 # 家具属性: 家具名称.占地面积 class Furniture: def __init__(self, name, area): self.name = name self.area = area def __str__(self): return F"[{self.name}]占地面积{self.area}平方米" class House: def __init__(self, house_type