通过比较学python4:OOP
2007-07-01 20:38
330 查看
python的OOP
每个.net和java的程序员听到python是一门面向对象的语言后,都会问:那么怎么才能在python中创建一个类呢?下面就让我们通过与.net和java的对比学习一下python的OOP吧
这是一个用python写的类以及用C#写的类,我们来看看他们的区别
python实现: #鸭子类
class Duck:
#鸭子的姓名
name='xiao duck'
#鸭子的性别
sex='boy'
#初始化器
def __init__(self,name,sex):
self.name=name
self.sex=sex
#鸭子嘎嘎叫的方法
def GaGa(self):
print 'GaGa'
#创建对象并执行方法
d=Duck('xiao duck','female')
d.GaGa()
print d.sex c#实现 public class Duck
从上面这段代码,我们可以看到一些显著的不同 首先python的field是没有保护级别的,也就是没有private,public之说,所有的类成员都是public,所有的类方法都是virtual[择自byteofpython p72] python中的__init__函数类似于构造函数,是类初始化时自动调用的方法 类方法的第一个参数其实必须是self self其实就类比于C#中的this 实例话对象不需要像.net和java中一样的new关键字
每个.net和java的程序员听到python是一门面向对象的语言后,都会问:那么怎么才能在python中创建一个类呢?下面就让我们通过与.net和java的对比学习一下python的OOP吧
这是一个用python写的类以及用C#写的类,我们来看看他们的区别
python实现: #鸭子类
class Duck:
#鸭子的姓名
name='xiao duck'
#鸭子的性别
sex='boy'
#初始化器
def __init__(self,name,sex):
self.name=name
self.sex=sex
#鸭子嘎嘎叫的方法
def GaGa(self):
print 'GaGa'
#创建对象并执行方法
d=Duck('xiao duck','female')
d.GaGa()
print d.sex c#实现 public class Duck
从上面这段代码,我们可以看到一些显著的不同 首先python的field是没有保护级别的,也就是没有private,public之说,所有的类成员都是public,所有的类方法都是virtual[择自byteofpython p72] python中的__init__函数类似于构造函数,是类初始化时自动调用的方法 类方法的第一个参数其实必须是self self其实就类比于C#中的this 实例话对象不需要像.net和java中一样的new关键字
相关文章推荐
- [置顶] 通过python利用哈希值实现比较两个文件的一致性
- 通过比较python(4)
- 通过比较学python(3):字典类,字符串
- 通过Python模块filecmp 对文件比较的实现方法
- Python:通过执行100万次打印来比较C和python的性能,以及用C和python结合来解决性能问题的方法
- 通过比较学python(5):IronPython引用.Net类
- Python:通过执行100万次打印来比较C和python的性能,以及用C和python结合来解决性能问题的方法 .
- 通过比较学python(5):IronPython引用.Net类
- Python:通过执行100万次打印来比较C和python的性能,以及用C和python结合来解决性能问题的方法
- 通过shell脚本查看python版本并比较
- 通过比较学python(3)
- Python:通过执行100万次打印来比较C和python的性能,以及用C和python结合来解决性能问题的方法
- 通过3(2/n)次比较同时找到数组最大和最小值(python)
- <转>Python OOP(1):从基础开始
- Python3 Tkinter基础 Radiobutton 通过改变variable的值,改变默认选中的按钮
- Python爬虫包 BeautifulSoup 学习(十) 各种html解析器的比较及使用
- python 文件夹比较
- Python 比较文本相似性(difflib,Levenshtein)
- 通过 Python 装饰器实现DRY(不重复代码)原则
- Linux下 Python通过ctypes调用cAPI (一)