问题
设计一个person类,条件如下:
1)定义protected属性:name(姓名)、age(年龄)、sex(性别)
2)定义static静态属性:num(用于计算已实例化的人数)
3)定义构造函数,实现在对象创建时输出“i am a person”,并对num加1;
4)定义析构函数,在对象销毁时输出“bye”;
5)定义共有方法setinfo($info),通过参数设置name、age、sex等属性信息
(提示:参数可以为数组,数组里包含每个参数的信息,如$info[name])
6)定义共有方法getinfo(),用于输出对象的属性信息
7)定义共有方法getnum(),用于计算并返回已实例化的人数
b、设计一个student类,条件如下:
1)继承person类
2)定义构造函数,调用父类构造函数,并在输出“i am a student”
3)定义私有属性:number(学号)、class(班级)、major(专业)
4)重载父类的setinfo($info)方法,设置其为final方法,调用父类的setinfo函数以设置共有的属性信息,并继续设置本类的属性信息
5)重载父类的getinfo()方法,设置其为final方法,调用父类的setinfo函数以输出共有属性信息,并继续输出本类的属性信息
c、设计一个teacher类,条件如下:
1)继承自person类;
2)定义构造函数