PHP实验报告二(第二次作业)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
echo '__set called'.PHP_EOL; $this->$property = $value;
} /** * __toString()类被当成字符串时的回应方法 */ public function __toString() {
return '__toString called'; }
public function getInfo() {
echo " 姓 名 :{$this->name}, 学 号 :{$this->sno}, 性 别 :{$this->sex}, 班 级:{$this->cno}\n";
}
} $student = new Stu("Aimy","2015221119200284", '男',"软件工程 1501 班"); $student->getInfo(); echo $student->sex."\n"; echo $student->cno."\n"; $student->cno = "软件工程 1502";
$this->name = $name; $this->sno = $sno; $this->sex = $sex; $this->cno = $cno;
}
/** * 在类中添加__get()方法,在直接获取属性值时自动调用一次,以属性名作为参 数传入并处理 * @param $propertyName * * @return string * 如果所获取的性别不是合法的结果,返回'男'
print "析构函数被执行......\n"; }
//获得验证码 function getString($length){
$str="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; $t=''; for($i=0;$i<$length;$i++){ $t.=$str[rand(0,strlen($str))]; } return $t;
}
} $code_4 = new GenStr(4); $code_6 = new GenStr(6); $code_8 = new GenStr(8); echo $code_4->getString($code_4->length)."\n"; echo $code_6->getString($code_6->length)."\n"; echo $code_8->getString($code_8->length)."\n"; ?> 结果:
第3 页 共6页
湖北大学 2017 —2018 学年度第 2 学期课程考查 试题纸
题目 3: 定义学生信息类 Stu,内容私有属性:学号,姓名、性别、班级。 定义一个构造方法,目的实现上面四个属性的初始化赋值操作 定义魔术方法:__toString __set __get,并发挥其作用。 定义一个获取信息的方法 getinfo 方法,返回指定格式的学生信息。姓名:**,学号***, 性别:**, 班级:***
class GenStr { /* 成员变量 */
第2 页 共6页
湖北大学 2017 —2018
var $length;
学年度第 2 学期课程考查 试题纸
/* 成员函数 */ //构造函数
function __construct($length) {
$this->length = $length; print "构造函数被执行......\n"; } //析构函数 function __destruct() {
echo "我是{$this->name}, 我在跑步......\n"; } } /*实现对 person 的继承*/ class Student extends Person{
}
$student = new Student("小明", "男", 21); print "我是{$student->name}, 是一位{$student->sex}生,今年{$student->age}岁\n"; $student->saying(); $student->running(); ?> 结果:
第5 页 共6页
湖北大学 2017 —2018
echo $student."\n"; $student->cno = "软件工程 1503"; $student->getInfo()."\n"; ?> 结果:
学年度第 2 学期课程考查 试题纸
第6 页 共6页
第1 页 共6页
****
湖北大学 2017 —2018 学年度第 2 学期课程考查 试题纸
//析构函数 function __destruct() {
print "析构函数被执行......\n"; } function saying(){
echo "我是{$this->name}, 我在发言......\n"; } function running(){
答:代码如下: <?php
class Stu{ private $name; private $sno; private $sex; private $cno;
function __construct( $name, $sno, $sex, $cno ) { echo '__construct called'.PHP_EOL;
题目 2: 定义一个字符串生成类 GenStr:(目的用于生成验证码) 属性(私有):字串长度, 类型(1:数字、2:数字加小写字母、3:大小写字母与数字)三种都行 方法: 1.构造方法:给类中属性赋值。 2.getString 方法:返回一个随机的一个字符串,长度由属性指出。 提示:随机一个整数(rand 函数),用 ASCII 码转成字符(chr 函数)。 答:代码如下: <?php
源自文库
计算机与信息工程学院
任课教师:
李康
软件工程 1501 班
教师评语
总分 阅卷教师
专业年级:
姓 名: 胡自松
* * * * * * * * * * * * 学 院:
************
* * * * * * * * * * * 学 号: 2015221119200285
…………………………………………………………………………………………………… 题目 1: 定义个 person 类,属性(姓名、性别、年龄),方法(构造、说话、跑步、析构), 在定义一个子类 student,继承 person 类,完成父类方法的调用 。
答:代码如下: <?php
class Person { /* 成员变量 */ var $name; var $age; var $sex; /* 成员函数 */ //构造函数 function __construct($name, $sex, $age) {
$this->name = $name; $this->sex = $sex; $this->age = $age; print "构造函数被执行......\n"; }
********************************************
**********
**********
**********
湖北大学 2017 —2018 学年度第 2 学期课程考查 试题纸
课程考查试题纸
课程名称: 考查内容: 学 院: 专业年级:
php 程序设计
报告
(随堂作业、论文、报告或其他)
第4 页 共6页
湖北大学 2017 —2018 学年度第 2 学期课程考查 试题纸
*/ public function __get($propertyName) {
echo '__get called'.PHP_EOL; return $this->$propertyName; }
/** * 声明魔术方法需要两个参数,真接为私有属性赋值时自动调用,并可以屏蔽一 些非法赋值 * @param $property * @param $value */ public function __set($property, $value) {
} /** * __toString()类被当成字符串时的回应方法 */ public function __toString() {
return '__toString called'; }
public function getInfo() {
echo " 姓 名 :{$this->name}, 学 号 :{$this->sno}, 性 别 :{$this->sex}, 班 级:{$this->cno}\n";
}
} $student = new Stu("Aimy","2015221119200284", '男',"软件工程 1501 班"); $student->getInfo(); echo $student->sex."\n"; echo $student->cno."\n"; $student->cno = "软件工程 1502";
$this->name = $name; $this->sno = $sno; $this->sex = $sex; $this->cno = $cno;
}
/** * 在类中添加__get()方法,在直接获取属性值时自动调用一次,以属性名作为参 数传入并处理 * @param $propertyName * * @return string * 如果所获取的性别不是合法的结果,返回'男'
print "析构函数被执行......\n"; }
//获得验证码 function getString($length){
$str="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; $t=''; for($i=0;$i<$length;$i++){ $t.=$str[rand(0,strlen($str))]; } return $t;
}
} $code_4 = new GenStr(4); $code_6 = new GenStr(6); $code_8 = new GenStr(8); echo $code_4->getString($code_4->length)."\n"; echo $code_6->getString($code_6->length)."\n"; echo $code_8->getString($code_8->length)."\n"; ?> 结果:
第3 页 共6页
湖北大学 2017 —2018 学年度第 2 学期课程考查 试题纸
题目 3: 定义学生信息类 Stu,内容私有属性:学号,姓名、性别、班级。 定义一个构造方法,目的实现上面四个属性的初始化赋值操作 定义魔术方法:__toString __set __get,并发挥其作用。 定义一个获取信息的方法 getinfo 方法,返回指定格式的学生信息。姓名:**,学号***, 性别:**, 班级:***
class GenStr { /* 成员变量 */
第2 页 共6页
湖北大学 2017 —2018
var $length;
学年度第 2 学期课程考查 试题纸
/* 成员函数 */ //构造函数
function __construct($length) {
$this->length = $length; print "构造函数被执行......\n"; } //析构函数 function __destruct() {
echo "我是{$this->name}, 我在跑步......\n"; } } /*实现对 person 的继承*/ class Student extends Person{
}
$student = new Student("小明", "男", 21); print "我是{$student->name}, 是一位{$student->sex}生,今年{$student->age}岁\n"; $student->saying(); $student->running(); ?> 结果:
第5 页 共6页
湖北大学 2017 —2018
echo $student."\n"; $student->cno = "软件工程 1503"; $student->getInfo()."\n"; ?> 结果:
学年度第 2 学期课程考查 试题纸
第6 页 共6页
第1 页 共6页
****
湖北大学 2017 —2018 学年度第 2 学期课程考查 试题纸
//析构函数 function __destruct() {
print "析构函数被执行......\n"; } function saying(){
echo "我是{$this->name}, 我在发言......\n"; } function running(){
答:代码如下: <?php
class Stu{ private $name; private $sno; private $sex; private $cno;
function __construct( $name, $sno, $sex, $cno ) { echo '__construct called'.PHP_EOL;
题目 2: 定义一个字符串生成类 GenStr:(目的用于生成验证码) 属性(私有):字串长度, 类型(1:数字、2:数字加小写字母、3:大小写字母与数字)三种都行 方法: 1.构造方法:给类中属性赋值。 2.getString 方法:返回一个随机的一个字符串,长度由属性指出。 提示:随机一个整数(rand 函数),用 ASCII 码转成字符(chr 函数)。 答:代码如下: <?php
源自文库
计算机与信息工程学院
任课教师:
李康
软件工程 1501 班
教师评语
总分 阅卷教师
专业年级:
姓 名: 胡自松
* * * * * * * * * * * * 学 院:
************
* * * * * * * * * * * 学 号: 2015221119200285
…………………………………………………………………………………………………… 题目 1: 定义个 person 类,属性(姓名、性别、年龄),方法(构造、说话、跑步、析构), 在定义一个子类 student,继承 person 类,完成父类方法的调用 。
答:代码如下: <?php
class Person { /* 成员变量 */ var $name; var $age; var $sex; /* 成员函数 */ //构造函数 function __construct($name, $sex, $age) {
$this->name = $name; $this->sex = $sex; $this->age = $age; print "构造函数被执行......\n"; }
********************************************
**********
**********
**********
湖北大学 2017 —2018 学年度第 2 学期课程考查 试题纸
课程考查试题纸
课程名称: 考查内容: 学 院: 专业年级:
php 程序设计
报告
(随堂作业、论文、报告或其他)
第4 页 共6页
湖北大学 2017 —2018 学年度第 2 学期课程考查 试题纸
*/ public function __get($propertyName) {
echo '__get called'.PHP_EOL; return $this->$propertyName; }
/** * 声明魔术方法需要两个参数,真接为私有属性赋值时自动调用,并可以屏蔽一 些非法赋值 * @param $property * @param $value */ public function __set($property, $value) {