<?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; OO</title>
	<atom:link href="http://www.laihj.net/tag/oo/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.laihj.net</link>
	<description>list(linux,emacs,旅行,读书,andriod,MacOS,iOS)</description>
	<lastBuildDate>Tue, 27 Dec 2011 12:54:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>[PY]python中的OO</title>
		<link>http://www.laihj.net/2008/11/pypython%e4%b8%ad%e7%9a%84oo/</link>
		<comments>http://www.laihj.net/2008/11/pypython%e4%b8%ad%e7%9a%84oo/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 12:01:19 +0000</pubDate>
		<dc:creator>laihj</dc:creator>
				<category><![CDATA[善其事]]></category>
		<category><![CDATA[OO]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.laihj.net/articles/pypython%e4%b8%ad%e7%9a%84oo.html</guid>
		<description><![CDATA[写给自己的备忘，很浅显，可能只是句法方面的事，不涉及OO思想之类的，因为OO思想是共通的，并没有python的OO思想一说
PS 示例代码来自《python简明教程》
继承
python中的继承语法跟java/c++系不同，却不是：也不是extends,是这样的
 class child(parent):
pass             #py中，pass是空语句块
self,init，和del
python中的self有点类似于c++/java中的this是指针，代表本实例，不同的地方在于self要写在类函数的参数列表中,传递了self才能在函数中使用类实例的数据，但在调用时不需要写这个参数
init类似于构造函数，用法也差不多，而del，不像c++中的析构，比较像java中的finalize，在实例被回收时调用，同java中一样，这个函数被调用的时间是不一样的
 class SchoolMember:
def __init__(self, name, age):
self.name = name
self.age = age
print &#8216;(Initialized SchoolMember: %s)&#8217; % self.name
def __del__(self, name, age)：pass
def tell(self):
print &#8216;Name:&#8221;%s&#8221; Age:&#8221;%s&#8221;&#8216; % (self.name, self.age)
SchoolMember().tell()  &#60;&#8211;这里不需要写self的引用
类数据与实例数据
 class child():
bi=2    &#60;&#8211;在java中这个是要加staitc滴，也就是说这个实际上相当于静态
def __init__(self):
self.bb=3 &#60;&#8211;实例数据
重载
基本一样，不同的是python中的构造函数并不自动调用基类的构造函数，需要显式调用。
多继承
python支持多继承，不过不晓得有没有用，反正在我看来，多继承就是记载于葵花宝典的屠龙之技，自宫去学它了吧，也不一定用得上
让C/C++/Java人员不爽的地方：

 * 类数据居然不用声明直接用的
 * 数据居然不用指定类型的
 * 函数居然没有返回值类型的
 * 居然没有访问权限修饰符的（我是指public,private,protected，忘了术语怎么说了）


Related Posts用Dropbox搭配MoinMoin建立个人的Wiki(1)
[pil-handbook翻译]使用指南-5(1)
[pil-handbook翻译]使用指南-4(2)
[pil-handbook翻译]指用指南-3(2)
[pil-handbook翻译]使用指南-2(3)
[pil-handbook翻译]使用指南-1(2)
[pil-handbook翻译]Python Imaging Library 概览(2)
[PY]玩pythonchallenge要复盘(0)
[PY]module的问题(0)
Recent Comments]]></description>
			<content:encoded><![CDATA[<p>写给自己的备忘，很浅显，可能只是句法方面的事，不涉及OO思想之类的，因为OO思想是共通的，并没有python的OO思想一说<br />
PS 示例代码来自《python简明教程》</p>
<p><font color="#0000ff"><strong>继承</strong></font><br />
python中的继承语法跟java/c++系不同，却不是：也不是extends,是这样的</p>
<blockquote><p> class child(parent):<br />
pass             #py中，pass是空语句块</p></blockquote>
<p><font color="#0000ff"><strong>self,init，和del</strong></font><br />
python中的self有点类似于c++/java中的this是指针，代表本实例，不同的地方在于self要写在类函数的参数列表中,传递了self才能在函数中使用类实例的数据，但在调用时不需要写这个参数<br />
init类似于构造函数，用法也差不多，而del，不像c++中的析构，比较像java中的finalize，在实例被回收时调用，同java中一样，这个函数被调用的时间是不一样的</p>
<blockquote><p> class SchoolMember:<br />
def __init__(self, name, age):<br />
self.name = name<br />
self.age = age<br />
print &#8216;(Initialized SchoolMember: %s)&#8217; % self.name<br />
def __del__(self, name, age)：pass</p>
<p>def tell(self):<br />
print &#8216;Name:&#8221;%s&#8221; Age:&#8221;%s&#8221;&#8216; % (self.name, self.age)</p>
<p>SchoolMember().tell()  &lt;&#8211;这里不需要写self的引用</p></blockquote>
<p><strong><font color="#0000ff">类数据与实例数据</font></strong></p>
<blockquote><p> class child():<br />
bi=2    &lt;&#8211;在java中这个是要加staitc滴，也就是说这个实际上相当于静态<br />
def __init__(self):<br />
self.bb=3 &lt;&#8211;实例数据</p></blockquote>
<p><strong><font color="#0000ff">重载</font></strong><br />
基本一样，不同的是python中的构造函数并不自动调用基类的构造函数，需要显式调用。</p>
<p><font color="#0000ff"><strong>多继承</strong></font><br />
python支持多继承，不过不晓得有没有用，反正在我看来，多继承就是记载于葵花宝典的屠龙之技，自宫去学它了吧，也不一定用得上</p>
<p>让C/C++/Java人员不爽的地方：</p>
<ul>
<li> * 类数据居然不用声明直接用的</li>
<li> * 数据居然不用指定类型的</li>
<li> * 函数居然没有返回值类型的</li>
<li> * 居然没有访问权限修饰符的（我是指public,private,protected，忘了术语怎么说了）</li>
</ul>
<blockquote><p><code class="key"></code><code></code></p></blockquote>
<h3>Related Posts</h3><ul><li><a href="http://www.laihj.net/2009/11/%e7%94%a8dropbox%e6%90%ad%e9%85%8dmoinmoin%e5%bb%ba%e7%ab%8b%e4%b8%aa%e4%ba%ba%e7%9a%84wiki/" title="用Dropbox搭配MoinMoin建立个人的Wiki 2009.11.25">用Dropbox搭配MoinMoin建立个人的Wiki</a>(1)</li>
<li><a href="http://www.laihj.net/2008/12/pil-handbook%e7%bf%bb%e8%af%91%e4%bd%bf%e7%94%a8%e6%8c%87%e5%8d%97-5/" title="[pil-handbook翻译]使用指南-5 2008.12.30">[pil-handbook翻译]使用指南-5</a>(1)</li>
<li><a href="http://www.laihj.net/2008/12/pil-handbook%e7%bf%bb%e8%af%91%e4%bd%bf%e7%94%a8%e6%8c%87%e5%8d%97-4/" title="[pil-handbook翻译]使用指南-4 2008.12.29">[pil-handbook翻译]使用指南-4</a>(2)</li>
<li><a href="http://www.laihj.net/2008/12/pil-handbook%e7%bf%bb%e8%af%91%e6%8c%87%e7%94%a8%e6%8c%87%e5%8d%97-3/" title="[pil-handbook翻译]指用指南-3 2008.12.27">[pil-handbook翻译]指用指南-3</a>(2)</li>
<li><a href="http://www.laihj.net/2008/12/pil-handbook%e7%bf%bb%e8%af%91%e4%bd%bf%e7%94%a8%e6%8c%87%e5%8d%97-2/" title="[pil-handbook翻译]使用指南-2 2008.12.26">[pil-handbook翻译]使用指南-2</a>(3)</li>
<li><a href="http://www.laihj.net/2008/12/pil-handbook%e7%bf%bb%e8%af%91%e4%bd%bf%e7%94%a8%e6%8c%87%e5%8d%97-1/" title="[pil-handbook翻译]使用指南-1 2008.12.25">[pil-handbook翻译]使用指南-1</a>(2)</li>
<li><a href="http://www.laihj.net/2008/12/pil-handbook%e7%bf%bb%e8%af%91python-imaging-library-%e6%a6%82%e8%a7%88/" title="[pil-handbook翻译]Python Imaging Library 概览 2008.12.24">[pil-handbook翻译]Python Imaging Library 概览</a>(2)</li>
<li><a href="http://www.laihj.net/2008/12/py%e7%8e%a9pythonchallenge%e8%a6%81%e5%a4%8d%e7%9b%98/" title="[PY]玩pythonchallenge要复盘 2008.12.9">[PY]玩pythonchallenge要复盘</a>(0)</li>
<li><a href="http://www.laihj.net/2008/11/pymodule%e7%9a%84%e9%97%ae%e9%a2%98/" title="[PY]module的问题 2008.11.5">[PY]module的问题</a>(0)</li>
</ul><h3>Recent Comments</h3><ul></ul>]]></content:encoded>
			<wfw:commentRss>http://www.laihj.net/2008/11/pypython%e4%b8%ad%e7%9a%84oo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

