<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>最优良人 &#187; 面向对象</title>
	<atom:link href="http://www.zui88.com/view-tag/%e9%9d%a2%e5%90%91%e5%af%b9%e8%b1%a1/feed" rel="self" type="application/rss+xml" />
	<link>http://www.zui88.com/blog</link>
	<description>中山php&#124;最优网络</description>
	<lastBuildDate>Mon, 13 May 2013 04:56:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>PHP面向对象之继承</title>
		<link>http://www.zui88.com/blog/view-86.html</link>
		<comments>http://www.zui88.com/blog/view-86.html#comments</comments>
		<pubDate>Sat, 13 Aug 2011 18:26:44 +0000</pubDate>
		<dc:creator>lin</dc:creator>
				<category><![CDATA[后端程序]]></category>
		<category><![CDATA[继承]]></category>
		<category><![CDATA[面向对象]]></category>

		<guid isPermaLink="false">http://www.zui88.com/blog/?p=86</guid>
		<description><![CDATA[用class关键字创建两个类，Son类继承Parents类： class Parents{ } class Son extends Parents { } 如果子类没定义构造函数，初始化子类时会自动调用父类的构造函数，并且函数里面可以调用子类的公共属性，但是如果调用子类的private私有属性则不可以，另外由 protected 所定义的类成员则可以被其所在类的子类和父类访问 class Parents{ function __construct(){echo $this-&#62;name;} } class Son extends Parents { var name = 'lin'; } $Son = new Son(); 如果子类定义了构造函数或者其他与父类同名的函数，会把父类函数覆盖，想调用父类该函数可以用parent:::func()来调用。如果父类函数用了final关键字，子类重定义该函数时就会报错。]]></description>
			<content:encoded><![CDATA[<div style="line-height: 25px;">
<p>用class关键字创建两个类，Son类继承Parents类：</p>
<p>class Parents{</p>
<p>}</p>
<p>class Son extends Parents {</p>
<p>}</p>
<p>如果子类没定义构造函数，初始化子类时会自动调用父类的构造函数，并且函数里面可以调用子类的公共属性，但是如果调用子类的private私有属性则不可以，另外由 protected 所定义的类成员则可以被其所在类的子类和父类访问</p>
<p>class Parents{</p>
<p>function __construct(){echo $this-&gt;name;}</p>
<p>}</p>
<p>class Son extends Parents {</p>
<p>var name = 'lin';</p>
<p>}</p>
<p>$Son = new Son();</p>
<p>如果子类定义了构造函数或者其他与父类同名的函数，会把父类函数覆盖，想调用父类该函数可以用parent:::func()来调用。如果父类函数用了final关键字，子类重定义该函数时就会报错。</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.zui88.com/blog/view-86.html/feed</wfw:commentRss>
		<slash:comments>262</slash:comments>
		</item>
		<item>
		<title>PHP面向对象之抽象类与接口</title>
		<link>http://www.zui88.com/blog/view-84.html</link>
		<comments>http://www.zui88.com/blog/view-84.html#comments</comments>
		<pubDate>Sat, 13 Aug 2011 18:25:54 +0000</pubDate>
		<dc:creator>lin</dc:creator>
				<category><![CDATA[后端程序]]></category>
		<category><![CDATA[抽象类]]></category>
		<category><![CDATA[接口]]></category>
		<category><![CDATA[面向对象]]></category>

		<guid isPermaLink="false">http://www.zui88.com/blog/?p=84</guid>
		<description><![CDATA[定义抽象类使用abstract关键字，主要用于定义规范，其函数必须被继承的子类全部重载后才能实例化，重载不全会报错 abstract class AbClass{ abstract function a1(); abstract function a2(); } class AbSonClass extends AbClass{ //全部重载父类方法 function a1(){ echo "抽象方法1"; } function a2(){ echo "抽象方法2"; } } 接口和抽象类非常相似，接口的引用，可以多引用，通过关键字implements 引用，全部为抽象方法，在引用它的子类里面也必须全部覆盖所有方法 interface InClass{ function in1(); function in2(); } //先继承后引用 class InSonClass extends MyClass implements InClass{ //全部重载父接口方法 function in1(){ echo "抽象方法1"; } function in2(){ echo "抽象方法2"; } } [...]]]></description>
			<content:encoded><![CDATA[<div style="line-height: 25px;">
<p>定义抽象类使用abstract关键字，主要用于定义规范，其函数必须被继承的子类全部重载后才能实例化，重载不全会报错</p>
<p>abstract class AbClass{</p>
<p> abstract function a1();<br />
 abstract function a2();<br />
}</p>
<p>class AbSonClass extends AbClass{</p>
<p> //全部重载父类方法</p>
<p> function a1(){</p>
<p>  echo "抽象方法1";<br />
 }<br />
 function a2(){</p>
<p>  echo "抽象方法2";<br />
 }<br />
}</p>
<p>接口和抽象类非常相似，接口的引用，可以多引用，通过关键字implements 引用，全部为抽象方法，在引用它的子类里面也必须全部覆盖所有方法</p>
<p>interface InClass{</p>
<p> function in1();<br />
 function in2();<br />
}</p>
<p>//先继承后引用</p>
<p>class InSonClass extends MyClass implements InClass{</p>
<p>    //全部重载父接口方法<br />
 function in1(){</p>
<p>  echo "抽象方法1";<br />
 }<br />
 function in2(){</p>
<p>  echo "抽象方法2";<br />
 }</p>
<p>}</p>
<p><strong>接口和抽象类的区别：</strong></p>
<p>接口可以同时引用多个，而抽象类只能继承一个</p>
<p>接口里面的方法全部为抽象方法，且不能有实现代码，而抽象类的方法可以有实现代码</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.zui88.com/blog/view-84.html/feed</wfw:commentRss>
		<slash:comments>262</slash:comments>
		</item>
	</channel>
</rss>
