面对对象就是:
把数据及对数据的操作方法放在一起,作为一个相互依存的整体——对象。对同类对象抽象出其共性,形成类。类中的大多数数据,只能用本类的方法进行处理。类通过一个简单的外部接口与外界发生关系,对象与对象之间通过消息进行通信。程序流程由用户在使用中决定。
封装:将客观事物抽象成类,每个类对自身的数据和方法实行
继承:广义的继承有三种实现形式:
实现继承(指使用基类的属性和方法而无需额外编码的能力)、
可视继承(子窗体使用父窗体的外观和实现代码)、
接口继承(仅使用属性和方法,实现滞后到子类实现)。
前两种(类继承)和后一种(对象组合=>接口继承以及纯虚函数)构成了功能复用的两种方式。
多态:是将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。
多态:是将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。
//类和对象 //对象:一切东西都可以看做对象,对象是类的实例化。 //类:类是对象的抽象,用来描述众多对象共有的特征。 //定义类 class //成员变量和成员方法 //访问修饰符 public共有的 private私有的 protected受保护的 //面向对象的三大特性: //1.封装:目的:保护类,做法:成员私有,方法访问。 //构造方法:特殊点:1/写法特殊2.执行时间特殊;可以实现成员的初始化 //$this关键字:$this代表该对象 //2.继承:子类可以继承父类的一切 //特点:单继承:一个子类只能有一个父类,一个父类可以派生多个子类。 //方法重写:子类里建一个和父类重名的方法,会将父类方法覆盖;如果想扩展父类方法而不是覆盖:parent::Say(); //3.多态:当父类引用指向子类实例的时候,由于子类对父类的方法进行了重写,所以父亲引用在调用该方法的时候表现出不同就成为多态。 //条件:1.必须继承2.子类必须对父类方法重写3。父类引用指向子类实例 //静态 //关键字:static //普通成员是属于对象的 //静态成员是属于类的 //普通方法里面可以调用静态成员 //静态方法里面不能调用普通成员 //用类名调用:Ren::Say(); //抽象类 //关键字:abstract //抽象类不能实例化,可以被继承 //接口 //关键字:interface,不加class关键字 //接口里面有成员方法,但没有函数体 //实现接口使用的关键字:implement不是extend //子类必须实现接口的所有方法 //析构函数 //写法特殊 执行特殊;在对象销毁的时候执行 //——tostring()方法 //克隆关键字:clone