Python 初体验 之 面向对象
来源:互联网 发布:科比三连冠时期数据 编辑:程序博客网 时间:2024/05/16 09:48
谈起面向对象,对于大部分程序员来说都是耳熟能详的玩意,这个面向对象编程说白了无非就是类和对象,方法和
成员变量,封装等等。Python作为一门面向对象的语言,肯定对于这些的支持是没问题,下面我们来说一下Python的面
向对象编程的问题。首先是Python的声明一个类然后创建一个对象,这个是最基本的玩意。代码如下
'''Created on 2013-1-25@author: Administrator'''class Person: def __init__(self,name):#相当于构造函数 print("构造函数启动") self.name=name def sayHi(self): print("Hello World",self.name) p = Person("rookie")p.sayHi()可以看到,其实声明一个类非常的简单,就是使用class关键字,然后对于这个init函数,其实就是相当于构造函数,
这个self指针是必须的,不管你的函数是否有参数,这个self都是必不可少的一个参数,主要原因是Python是一门动态
语言,支持类型的转变,所以必须知道自己的对象指向的类是谁,所以需要这个指针。下面我们再来说一下这个对象
的变量和函数的问题吧
'''Created on 2013-1-25@author: Administrator'''class Person: population=0 def __init__(self,name): print("Person类正在实例化") self.name=name print("类名为",self.name) self.population += 1 def __del__(self):#相当于C++里面的析构函数 print("Person类正在析构",self.name) self.population -= 1 if self.population == 0: print("I am the last One") else: print("There are still",self.population,"left") def sayHi(self): print("Hello World",self.name) def howMany(self): print("We have,",self.population,"Person Now")swaroop = Person("swaroop")swaroop.sayHi()swaroop.howMany()kalam = Person("kalam")kalam.sayHi()kalam.howMany()swaroop.sayHi()
可以看到,声明成员函数和声明一个函数是一样的,而声明一个变量就是直接写上这个就行,更是无比的简单,下面
我们再来说一下这个继承的问题,先看一个简单的例子
'''Created on 2013-1-25@author: Administrator'''class SchoolMember: def __init__(self,name,age): self.name=name self.age=age print(self.name,"正在实例化") def tell(self): print("Name is",self.name,"and Age is",self.age) class Teacher(SchoolMember): def __init__(self,name,age,salary): SchoolMember.__init__(self, name, age) self.salary=salary print("教师类正在实例化") def tell(self): SchoolMember.tell(self) print("工资为",self.salary)t = Teacher("A",12,300)t.tell()
这个继承主要就是在声明类的时候给一个元组就行,这貌似说明Python支持多重继承,呵呵。还有就是Python不能自
己主动的去调用父类的构造函数,必须是你自己去老实的调用父类的构造函数,然后对于这个父类的变量或者什么函
数的都可以直接使用父类的函数名或者变量名就可以直接调用了
- Python 初体验 之 面向对象
- Python之面向对象初体验
- coffee-script之面向对象初体验
- python初体验(2)——面向对象篇
- python初体验(2)——面向对象篇
- python 之面向对象
- python之面向对象
- Python之面向对象
- 【GO之初体验】GO中面向对象的特点
- Python之OO 面向对象
- python学习之--面向对象
- Python面向对象之继承
- Python学习之面向对象
- Python 教程之面向对象
- python之面向对象编程
- Python面向对象之封装
- python面向对象之封装
- python笔记之面向对象
- vcl消息
- IBM “New Power”五大新计划
- POJ 1580 Code
- 毕业设计(十八)---发表文章(4)之- 发表文章流程 表单,处理代码
- oracle exec 和 call 区别
- Python 初体验 之 面向对象
- HEVC学习(三十五) —— 去方块滤波之六
- freeswitch 解决方案之电话会议 conference
- Unity3d脚本中文支持
- cocos2d-x 2.0版本 自适应屏幕分辨率
- cocos2dx学习笔记(转)
- Dialog小记
- HDU 1370 打表 || 中国剩余定理
- ubuntu 安装 ftp vsftp