第六周 交流会 -bO莱特
一、接口作为参数,不同的接口调用不同的方法,例如:输出“I love Game”或输出“我喜欢游戏”
接口的思想:在于可以增加很多类都需要实现的功能。比如:各式各样的商品,可能隶属不同公司,但工商部门都必须具有显示商标的功能(实现同一接口)。商标的具体制作由各个公司自己去实现。
给其他类去实现,不同的类不同的实现自己想要的结果。
interface Show{ //1、定义接口
void show();
}
class A implements Show{ //2、不同类实现接口
public void show(){
System.out.println("I love ThisGame");
}
}
class B implements Show{
public void show(){
System.out.println("我喜欢看NBA");
}
}
class C{
public void f(Show s){ //接口做为参数,即参数为对象 //3、定义个大层面上的类
s.show();
}
}
public class Example5_13 {
public static void main(String agrs[]){
C c = new C(); //4、大层面的类通过方法f的接口参数不同来输出不同内容
c.f(new A()); //不同对象调用不同方法
c.f(new B());
}
}
二、 smarty、thinkphp中的html加载其他的html文件的方式
1、 smarty在模板文件中,使用定界符
{include file="header.html"} 不可以省略.html
2、thinkphp的html文件中
<include file="header"> 或者是<include file="header.html">
三、使用PDO连接数据库 查询和插入乱码的解决方法
问题:PDO连接数据库后,查询和插入中文到数据库,出现乱码,如图:
解决方法:
法1:
1 try{
2 $opts_values = array(PDO::MYSQL_ATTR_INIT_COMMAND=>'SET NAMES utf8');
3 $pdo = new PDO($dsn,$login,$passwd,$opts_values);
4 }catch(PDOException $e){
5 echo $e->getMessage();
6 }
实例化 PDO 的第四个参数添加 MYSQL_ATTR_INIT_COMMAND 属性。
法2:
1 try{
2
3 $pdo = new PDO($dsn,$login,$passwd,$opts_values);
4 }catch(PDOException $e){
5 echo $e->getMessage();
6 }
7 $pdo->query("SET NAMES utf8");
在实例化PDO对象后,直接设置数据库的编码方式。