php中面向对象的封装和继承
来源:互联网 发布:python matplotlib安装 编辑:程序博客网 时间:2024/06/10 09:37
<?php
/**
* Created by PhpStorm.
* User: user
* Date: 2017/9/29
* Time: 18:55
*/
//封装!
/**
*Class Animal:
* 封装: 指的是把当前类当中的属性和方法都私有化,private ,保证数据的安全
* private: 修饰的属性和方法只能在当前类当中被调用,出了类就无法调用,还可以被相应的方法
*
*
*
*
*/
class Animal
{
var $name;
/**
* var $name 旧的PHP语言当中的定义结构写法 var:公有的
*/
public $age;
//封装和不封装的区别,创建了不使用默认是灰色的 $sex
private $sex;
/**
* @return mixed
*/
function Animal($name = "d", $age = 0, $sex = "")
{
$this->name = $name;
$this->age = $age;
$this->sex = $sex;
}
public function getName()
{
return $this->name;
}
/**
* @param mixed $name
*/
public function setName($name)
{
$this->name = $name;
}
/**
* @return mixed
*/
public function getAge()
{
return $this->age;
}
/**
* @param mixed $age
*/
public function setAge($age)
{
$this->age = $age;
}
/**
* @return mixed
*/
public function getSex()
{
return $this->sex;
}
/**
* @param mixed $sex
*/
public function setSex($sex)
{
$this->sex = $sex;
}
function hao(){
echo $this->name." ".$this->age."".$this->sex;
}
}
//实例化当前类的对象
$myanimal = new Animal("大象",7,"公");
$myanimal->name="狮子";
$myanimal->age=9;
//$myanimal->sex="母";//是一个私有的,
$myanimal->setSex("母");
$myanimal->hao();
//继承!
/**
* 子类继承父类:当子类继承了父类,可以使用父类的属性和方法
* extends
*/
//类
class Person{
public $name;
public $age;
public $sex;
// function Person($name="",$age=0,$sex=""){
// $this->name=$name;
// $this->age=$age;
// $this->sex=$sex;
//
// }
//这个叫构造方法 最新的构造方法:
public function __construct()
{
}
//普通方法
function hao(){
echo $this->name." ".$this->age." ".$this->sex;
}
//普通方法
function eat(){
echo "吃饭";
}
function drink(){
echo "喝水";
}
/**
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* @param string $name
*/
public function setName($name)
{
$this->name = $name;
}
/**
* @return int
*/
public function getAge()
{
return $this->age;
}
/**
* @param int $age
*/
public function setAge($age)
{
$this->age = $age;
}
/**
* @return string
*/
public function getSex()
{
return $this->sex;
}
/**
* @param string $sex
*/
public function setSex($sex)
{
$this->sex = $sex;
}
}
//可以继承person类
class Doctor extends Person{
public $angel;
public $beautiful;
/**
* Doctor constructor.
* @param string $name
* @param int $age
* @param string $sex
*/
public function __construct($name = "", $age = 0, $sex = "")
{
parent::__construct($name, $age, $sex);
}
function hao()
{
parent::hao(); // TODO: Change the autogenerated stub
}
function eat()
{
parent::eat(); // TODO: Change the autogenerated stub
}
function drink()
{
parent::drink(); // TODO: Change the autogenerated stub
}
/**
*一个方法如果不写修饰权限:默认是public
*/
public function kanbing(){
echo "看病";
}
}
//创建了一个实例
$myDoctor=new Doctor("赵医生",20,"女");
$myDoctor->hao();
//程序的小知识!
//程序的发展史:
//* 1、0和1 电信号,非结构化程序,
//* 2、 汇编语言: c 语言的原型 一直到C语言成熟,结构话编程 面向的是过程
//* 3、面型对象编程 面向的是个体,实体 ,指的是能够把现实的的具体的事物拿到程序当中去表示
//* 万事万物皆对象
//* 4、具体事物抽象化,把当前事物所代表的同一类事物给抽象化,
/**
* Created by PhpStorm.
* User: user
* Date: 2017/9/29
* Time: 18:55
*/
//封装!
/**
*Class Animal:
* 封装: 指的是把当前类当中的属性和方法都私有化,private ,保证数据的安全
* private: 修饰的属性和方法只能在当前类当中被调用,出了类就无法调用,还可以被相应的方法
*
*
*
*
*/
class Animal
{
var $name;
/**
* var $name 旧的PHP语言当中的定义结构写法 var:公有的
*/
public $age;
//封装和不封装的区别,创建了不使用默认是灰色的 $sex
private $sex;
/**
* @return mixed
*/
function Animal($name = "d", $age = 0, $sex = "")
{
$this->name = $name;
$this->age = $age;
$this->sex = $sex;
}
public function getName()
{
return $this->name;
}
/**
* @param mixed $name
*/
public function setName($name)
{
$this->name = $name;
}
/**
* @return mixed
*/
public function getAge()
{
return $this->age;
}
/**
* @param mixed $age
*/
public function setAge($age)
{
$this->age = $age;
}
/**
* @return mixed
*/
public function getSex()
{
return $this->sex;
}
/**
* @param mixed $sex
*/
public function setSex($sex)
{
$this->sex = $sex;
}
function hao(){
echo $this->name." ".$this->age."".$this->sex;
}
}
//实例化当前类的对象
$myanimal = new Animal("大象",7,"公");
$myanimal->name="狮子";
$myanimal->age=9;
//$myanimal->sex="母";//是一个私有的,
$myanimal->setSex("母");
$myanimal->hao();
//继承!
/**
* 子类继承父类:当子类继承了父类,可以使用父类的属性和方法
* extends
*/
//类
class Person{
public $name;
public $age;
public $sex;
// function Person($name="",$age=0,$sex=""){
// $this->name=$name;
// $this->age=$age;
// $this->sex=$sex;
//
// }
//这个叫构造方法 最新的构造方法:
public function __construct()
{
}
//普通方法
function hao(){
echo $this->name." ".$this->age." ".$this->sex;
}
//普通方法
function eat(){
echo "吃饭";
}
function drink(){
echo "喝水";
}
/**
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* @param string $name
*/
public function setName($name)
{
$this->name = $name;
}
/**
* @return int
*/
public function getAge()
{
return $this->age;
}
/**
* @param int $age
*/
public function setAge($age)
{
$this->age = $age;
}
/**
* @return string
*/
public function getSex()
{
return $this->sex;
}
/**
* @param string $sex
*/
public function setSex($sex)
{
$this->sex = $sex;
}
}
//可以继承person类
class Doctor extends Person{
public $angel;
public $beautiful;
/**
* Doctor constructor.
* @param string $name
* @param int $age
* @param string $sex
*/
public function __construct($name = "", $age = 0, $sex = "")
{
parent::__construct($name, $age, $sex);
}
function hao()
{
parent::hao(); // TODO: Change the autogenerated stub
}
function eat()
{
parent::eat(); // TODO: Change the autogenerated stub
}
function drink()
{
parent::drink(); // TODO: Change the autogenerated stub
}
/**
*一个方法如果不写修饰权限:默认是public
*/
public function kanbing(){
echo "看病";
}
}
//创建了一个实例
$myDoctor=new Doctor("赵医生",20,"女");
$myDoctor->hao();
//程序的小知识!
//程序的发展史:
//* 1、0和1 电信号,非结构化程序,
//* 2、 汇编语言: c 语言的原型 一直到C语言成熟,结构话编程 面向的是过程
//* 3、面型对象编程 面向的是个体,实体 ,指的是能够把现实的的具体的事物拿到程序当中去表示
//* 万事万物皆对象
//* 4、具体事物抽象化,把当前事物所代表的同一类事物给抽象化,
阅读全文
0 0
- php中面向对象的封装和继承
- 面向对象的封装和继承
- 面向对象--PHP中类的继承和构造函数
- PHP面向对象的三大特征: 继承,封装,多态
- 漫步IOS--OC的面向对象的封装和继承
- cocos2dx-lua中实现面向对象的封装继承
- Java中面向对象的封装,继承,重载重写
- 封装、继承和多态是面向对象的三大特征。
- 面向对象开发的封装和继承总结
- 面向对象,封装,继承
- 面向对象的特征:封装、继承、多态
- 面向对象的封装与继承
- 面向对象编程的封装、继承、多态
- 面向对象编程的封装、继承、多态
- 面向对象的概念:继承、封装、多态
- Java面向对象的封装与继承
- PHP中面向对象封装的数据库(基)类
- PHP面向对象的封装、抽象和接口
- HTTP协议(转)
- Leetcode32. Longest Valid Parentheses
- [LeetCode]10. Regular Expression Matching
- Button点击效果
- JVM(PART II)Eden Survivor名称由来
- php中面向对象的封装和继承
- Mybatis——可视化generator工具的介绍
- Servlet与Filter的区别
- 如何在Qt中安装事件过滤器
- 【BZOJ1026】【数位DP】windy数 题解
- 从键盘输入若干个字符,逐个存到磁盘文件data.txt中,直到输入’\n’为止,并将建立的文本文件的内容在存入文件的同时,在屏幕上显示出来:
- leetcode---word-search---dfs
- IEEE会议论文-Font Helvetica is not embedded
- Encrypt 原理记录