python学习的新篇章--面向对象

面向对象的学习笔记
 
关键要素:
类:class
用来描述具有相同的属性和方法的对象的集合,它定义了该集合中每个对象所共有的属性和方法。
 
数据成员:
类的不同属性数据
 
对象:
类的一个实例
 
方法:
类中定义的函数,实现相关的功能
 
面向对象编程:
简称oop 是一种程序设计思想,oop把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数(方法)
面向对象的设计思想是从自然界中来的,因为在自然界中,类和实例(instance)的概念是很自然的。class是一种抽象概念,比如我们定义的student类,是指学生这个概念,而实例则是一个个体的student对象。
 
三大特性:封装、继承、多态
 
 
 
 
定义类 。
class Student (object): 以学生为例:
类体
 
class是类的定义的关键词,class后面紧接着的是类名,即Student,类名通常以大写单词开头,紧接泽(object)表示该类是从哪个类继承下来的,通常如果没有明确的类就使用object类,括号内一般为空默认就是继承object类,这是所有类最终都会继承的类,也就是基类。
class Student ():
 
属性初始化
由于类可以起到模版的作用,因此,可以在创建实例对象的时候,把一些我们认为必须绑定的属性强制填写进去。通过定义一个特殊的—init— 方法,如在创建Student 实例的时候,就把name,city等属性绑上去。
—init—方法的第一个参数self,表示创建的实例本身,因此 ,在—init—方法内部就可以把各种属性绑的到self,因为self就是指向创建的实例本身。有了—init—方法,在创建实例的时候,就不能传入空的参数,必须传入鱼—init—方法匹配的参数,但self不需要传,python解释器自己会把实例变量传进去。
class Student ():
 
def __init__(self,name,city):
self.name=name
self.city=city
 
 
定义方法:
类的方法除类第一个参数事self外,其他和普通函数一样。要调用一个方法,只需要在实例变量上直接调用
class Student ():
 
def __init__(self,name,city):
self.name=name
self.city=city
print ("my name is %s and come from %s" % (name, city))
 
def talk(self):
 
print ("hell0")
 
stu1=Student('uu','changsha')
stu1.talk()
 
stu2=Student('ll','shanghai')
stu2.talk()
 
 
 
 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
posted @ 2017-09-05 00:36  uuchloe  阅读(115)  评论(0编辑  收藏  举报