面向对象三大特性: 封装,继承,多态
面向对象的三大特性:封装,继承,多态。
一、封装:目的:如何做类,让类更安全。
让一些成员变量不能被外界直接被访问。
方法:
1.将成员变量变为private。
2.在类里面做一个成员方法来间接访问。
3.在该方法里面加限制条件
4. 标准情况下每一个成员变量都要做封装。
class Ren{public $name;public $sex;public $birthday;private $age; //将成员变量变为privatepublic function setage($age){ //在类中做一个成员方法来间接访问if($age>=18 && $age<=50){ //在该方法里面加限制条件$this->age = $age;}}public function getage(){return $this->age;}}$r = new Ren();$r->name = "张三";$r->setage(20);var_dump($r);
为了简化用
魔术方法:
public function __set($name,$valus){if($name=="age"){ if($value>=18 && $value<=50){ $this->$name = $value;}else{
$this->$name = $vaule; }
} } public function __get($name){ return $this->$name;} $r->age =20 //自动调用魔术方法__setecho $r->age;//自动调用魔术方法__get
二、继承
概念:子类可以继承父类的一切。父类起到指导性的作用。
特点:单继承(一个子类只能有一个父类,一个父类可以有多个子类)
关键字: extends
class Ren{public $name;public $sex;public function say(){echo "人在讲话";}} class China extends Ren{ //有父类的所有内容 public $yuyan; //扩展自己的内容 public function say(){ //函数重写:子类可对父类的函数重写。
parent::say(); //调用父类里面的方法 echo "你好";} public function test(){ //函数重载:同名方法,参数个数不同或类型不同,实现不同功能 echo "测试";}
public function test($a){ echo "aaaa";}
public function test($a,$b){ echo "bbbbb";}
} $c = new China(); $c->say();
重写:子类可对父类的函数重写。override
重载:一个方法多个功能,因为参数个数不同。方法名相同,参数个数不同。也叫编译多态。overload
多态:当父类引用指向子类实例时,由于子类对父类方法进行了重写,在调用该方法的时候表现的不同,称为多态。也叫运行多态。
转载于:https://www.cnblogs.com/niushuangmeng/p/8257615.html
面向对象三大特性: 封装,继承,多态相关推荐
- 深入理解Java面向对象三大特性 封装 继承 多态
1.封装 封装的定义: 首先是抽象,把事物抽象成一个类,其次才是封装,将事物拥有的属性和动作隐藏起来,只保留特定的方法与外界联系 为什么需要封装: 封装符合面向对象设计原则的第一条:单一性原则,一个类 ...
- Java面向对象三大特性(封装继承多态)解释及案例
文章目录 包 包基本语法 命名规则 命名规范 导入包实例 访问修饰符 面向对象编程-封装 面向对象编程-继承 super关键词 super和this的比较 方法重写/覆盖 (override) 注意事 ...
- Day55-每日一道Java面试题-Java 面向对象编程三大特性: 封装 继承 多态
Java 面向对象编程三大特性: 封装 继承 多态 封装 封装把一个对象的属性私有化,同时提供一些可以被外界访问的属性的方法,如果属性不想被外界访问,我们大可不必提供方法给外界访问.但是如果一个类没有 ...
- Java面向对象三大特性之继承多态的预习笔记,are you ready? 面对疾风吧!
文章目录 继承(extends) super关键字 方法重写 instanceof关键字 abstract关键字 接口(interface) 多态 继承(extends) AextendsB A继承了 ...
- Python OOP:面向对象三大特性(封装、继承、多态)、类属性和实例属性、类方法@classmethod、静态方法@staticmethod、函数和类callable、__call__
一.面向对象三大特性 二.多态 定义:多态是⼀种使⽤对象的⽅式,⼦类重写⽗类⽅法,调⽤不同⼦类对象的相同⽗类⽅法,可以产⽣不同的执⾏结果. 一个父类,可以继承给多个子类,每个不同的子类可以创建多个对象 ...
- python多态的三种表现形式_python小结----面向对象的三大特征(封装,继承,多态)
面向对象的三大特征: 封装,继承,多态 面向对象的编程思想核心:高类聚,低耦合–程序的设计模式范畴 封装 什么是封装: 在面向对象编程的思想中,对代码进行高度封装,封装又叫包装 封装就是指将数据或者函 ...
- 大数据必学Java基础(四十):面向对象三大特性之一继承(Inheritance)
文章目录 面向对象三大特性之一继承(Inheritance) 一.列举案例说明 1.类是对对象的抽象
- java 面向对象多态_乐字节Java面向对象三大特性以及Java多态
以上就是本次学习的6大任务.我们依次来看. 1 Object类 Object类是所有Java类的根基类. 如果在类的声明中未使用extends关键字指明其基类,则默认基类为Object类. cla ...
- java 面向对象三大特性之继承 万字详解(超详细)
目录 前言 : 一.为什么需要继承: 二.什么是继承(Warning : 篇幅较长)? 1.继承概述: 2.子类继承父类之后达到的效果 : ①如何使用继承? ②代码演示 : 3.继承的使用场景: eg ...
- C++面向对象三大特性——封装与信息隐蔽
4.1 封装(实现手段--class) 有意义的事物都可以抽象.在抽象类的时候不要想着代码是怎么实现,而是用自然语言去分析逻辑即可!否则极易出错. 4.1.1 封装的意义 封装是C++面向对象三大特性 ...
最新文章
- 一个可视化的retrospective网站
- 【转载】如何组建一支优秀的数据分析团队?
- java画板抽象类_java 中的 抽象方法 抽象类 和 接口有啥瓜葛
- Thinking in Java方法签名
- 一、快速开始一个 MyBatis项目(详解)
- 2018数学建模A题的简单指导
- python计算AA制时砍价后大家需要分摊的钱
- Windows界面编程:MFC
- CAXA2016破解版
- mysql 端口关闭了_关闭MySQL的3306端口
- 如何快速切换各种pip源
- 简单易懂的底层知识 —— 计算机的0和1是怎么产生的?
- 【UE】Unreal Engine虚幻引擎自己的入门记录
- 切比雪夫不等式的证明
- MySQL 2019最全的国家地区代码、手机号正则验证,覆盖191个国家和地区
- Html页面中直接显示pdf【一行代码实现】
- 面向未来,我们来聊一聊什么是现代化数据架构
- 万姓女孩清秀文雅的名字
- Google和Edge翻译问题解决方法整理
- 【C程序】逻辑判断真假话问题:3人说真话,1人说假话