面向对象知识:1你对面向对象的认识2什么是类?什么是对象?类和对象之间的关系?类:类是具有相同属性和行为的一组对象的集合对象:对象是实际存在的该类事物的每个个体,因而也称实例类和对象的关系:类是对象的抽象,对象是类的实例3面向对象的3大特征继承,封装,多态4怎么创建一个类的对象?使用new这个关键字创建对象5什么是构造方法(函数)?怎么定义?有什么样的特点?构造方法(在OO中,函数被称为方法)1特殊的名称:__construct2在实例化对象时,自动被调用3在内存中划分了对应的内存空间区域4构造方法可以像普通方法一样,接收参数;这里的参数通常是用来初始化类中的属性的5构造方法不能重复定义,每个类当中有且只能有一个;如果不写相当于有一个默认的不带参数且没有任何执行语句的空函数6什么是析构方法(函数)?怎么定义?有什么特点?析构函数:当某个对象成为垃圾或者当对象被显式销毁时执行。__destruct()析构函数,是在垃圾对象被回收时执行。析构函数也可以被显式调用,但不要这样去做。析构函数是由系统自动调用的,不要在程序中调用一个对象的虚构函数。析构函数不能带有参数。7什么是封装?有什么作用?列举一些封装的实例封装就是把对象的属性和行为结合成一个独立的相同单位,并尽可能隐藏对象的内部细节。优点:信息隐蔽,封装即隐藏(目的:不能让别人随意修改信息)。怎么实现封装?(1.访问修饰符(public、protected、private)(2.类(3.函数方法(4.文件(5.文件夹8访问修饰符有哪3个?分别有什么作用、特点public公共的谁都可以用,也可以修改protected受保护的只有自己和后代可以使用和修改private私有的只有自己可以使用和修改9什么是继承?关键字是什么?有什么作用?继承:扩展父类的内容,注意只能继承public和protected修饰的内容,而private修饰的则不能继承关键字:extends10什么是多态?变态--变化的形态11关键字this,super各自什么用途?有什么区别?$this就是对象内部代表这个对象的引用12static的作用?用static修饰的如何访问static:关键字,意思是静态的它可以修饰属性变量,也可以修饰函数方法(行为)静态资源加载和普通的非静态的资源加载是不一样的在非静态方法中可以调用静态方法,但是反过来就不行静态static修饰的内容被创建不需要有对象存在,同时它们是被放置在静态区当中静态资源的标准访问方式是====类名::静态资源名称13parent的用法parent指代的是调用的父类的函数方法14什么叫重载?在子类中出现和父类同名的方法,这个称为重写行为的重新定义重写只能发生在有继承关系的类之间,方法名称相同即重写,与参数没有关系重写时,访问修饰符的可以访问的范围不能低于父类中的访问修饰符对于private修饰的方法不能重写15final关键字的作用和用法final:关键字,意思是终态的,最后的它可以修饰函数方法(行为),被修饰的函数方法(行为)不能被重写final可以修饰类class,但是被修饰的类不能被继承类当中的属性不能被final修饰16什么叫抽象?抽象方法和抽象类抽象:抽象就是无法确切的说明,但又有一定的概念或者名称,在PHP中声明一个抽象类或者方法我们需要使用adstract关键字。抽象方法:在类里面定义的没有方法体的方法就是抽象方法,所谓的没有方法体指的是,在方法声明的时候没有大括号以及其中的内容,而是直接在声明时在方法名后加上分号结束,另外在声明抽象方法时还要加一个关键字“abstract”来修饰;抽象类:只要一个类里面有一个方法是抽象方法,那么这个类就要定义为抽象类,抽象类不能产生实例对象,在抽象类里面可以有不是抽象的方法和成员属性,但只要有一个方法是抽象的方法,这个类就必须声明为抽象类,使用”abstract”来修饰17什么叫接口?关键字是什么?有什么特点?接口(interface)是抽象方法和静态常量定义的集合。接口是一种特殊的抽象类,这种抽象类中只包含抽象方法和静态常量。接口中没有其它类型的内容。在接口中的抽象方法只能是public的,默认也是public权限。并且不能设置成private或者protected类型。名称是interface,在接口定义的只能是公共的抽象方法(没有函数体部分),也可以有静态常量;接口采用插件式配置,可以任意的匹配给任意一个类;类可以实现(implements)接口,类实现的接口可以有无数个;当一个类实现了接口之后,该接口的所有的方法必须在该类中实现关键字:interface特点:1实现多个接口时,接口中的方法不能有重名。2接口也可以继承,通过使用extends操作符。3类要实现接口,必须使用和接口中所定义的方法完全一致的方式。否则会导致致命错误。4接口中定义的所有方法都必须是公有18魔术方法是什么?大概有哪些?所有以__(两个下划线)开头的类方法保留为魔术方法;魔术方法有(15个):__construct(),__destruct(),__call(),__callStatic(),__get(),__set(),__isset(),__unset(),__sleep(),__wakeup(),__toString(),__invoke(),__set_state(),__clone()和__debugInfo()。19如何访问和设置类中的私有属性?20列举常见的魔术方法及其用途?至少4个__get()方法用来获取私有属性__set()方法用来设置私有属性__isset()检测一个对象的属性是否存在时被调用__clone()克隆对象21命名空间的作用及其用法22PDO是什么?phpdataobject(php数据对象),接口一套访问数据库的标准23创建PDO对象,有几个参数,分别代表什么意思?4个参数newPDO(‘数据库连接访问字符串’,‘登录用户名’,‘登录的密码’,‘访问的相关参数’)?php/*ConnecttoanODBCdatabaseusingdriverinvocation*/$dsn='mysql:dbname=testdb;host=127.0.0.1';$user='dbuser';$password='dbpass';try{$dbh=newPDO($dsn,$user,$password);}catch(PDOException$e){echo'Connectionfailed:'.$e-getMessage();}?24PDO对象要执行访问数据库的操作,有哪些方法?分别怎么使用?PDO::query—ExecutesanSQLstatement,returningaresultsetasaPDOStatementobjectPDOStatement::fetchAll—返回一个包含结果集中所有行的数组PDOStatement::execute—执行一条预处理语句?php/*通过传递一个含有插入值的数组执行一条预处理语句*/$calories=150;$colour='red';$sth=$dbh-prepare('SELECTname,colour,caloriesFROMfruitWHEREcalories:caloriesANDcolour=:colour');$sth-execute(array(':calories'=$calories,':colour'=$colour));?PDO::exec—执行一条SQL语句,并返回受影响的行数25什么叫模板引擎?它有什么用途?26我们用的smarty模板最新版本是多少?怎么使用?3.1.21