找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
第8讲  python中类于对象
1、python 中的类
#1) 类(class): 用来描述具有相同的属性和方法的对象的集合。
它定义了该集合中每个对 象所共有的属性和方法。对象是类的实例。
2)属性是什么? 称为变量 ,head =1  hand = 2
3)方法是什么? 称为行为, 人要吃饭,说话,在python中方法:就是在类里面定义函数
4)对象是什么:通过类定义的数据结构实例,包括两个数据成员(类变量和实例变量),好比
在教室每个同学都是人类,==》这个就是每个具体的对象,这个对象称为实例,再好比每个
杯子,但是每个被子有相同的,也有不相同的==》对象
5)实例化:根据一个类创建不同的对象的过程就是实例化
6)类变量:人类共有的属性   头  脚
7)实例变量:对象后者实例独有的属性 self
8)类的定义:类名一般是要首字母大写
9)类分为两种:
class People(object)   新式类
class People    经典类
10)类里面定义一个方法需要空一个tab键
2、python 中类的定义  class
class People(object):
#object 称为父类,基类,也是一切类的父类,类里面需要空一个tab键
head = 1      #这个叫类变量
def init(self,name):   #这个是构造方法,作用为了创建形式对象用的,双下划线表示私有方法
#这个name 是形式参数
self.name = name    #这个self.name 称为实例变量,self 是类的对象本身
    # print(name)#这个是实例方法# def play(self):#     print(self.name+'去打篮球')# 类方法# @classmethod   #这个@符是装饰器,作用是为了不影响原有功能的基础上给原有方法增加新的方法功能# def test(cls):#     print('这个是一个类方法') #静态方法# @staticmethod# def test1():     #这个括号不用参数#     print('这是一个静态方法')#私有方法# def __test2(self):#     print('这个是一个私有方法')# 可以通过创建一个实例方法来引用私有方法的结果# def test3(self):#     return self.__test2()
3、创建一个对象
p = People('小段')     #创建一个对象p  这个对象的姓名就叫做小段
                #People('小段') 叫作匿名对象 赋值给了对象p
p.play()          #对象调用方法
p1 = People('xiaoma')
p1.play()
4、类和对象调用类变量 实例变量
print(People.head)     #类调用类变量
print(People.name)     #类调用实例变量,报错,实例变量是独有的
print(p.head)           #对象调用类变量
print(p.name)          #小段  对象调用实例变量
5、类和对象调用实例方法 类方法  静态方法
People.play(p)         #类调用实例方法,需要加一个对象进去
People.test()         #类调用类方法
People.test1()        #类调用静态方法
p.play()             #对象调用实例方法
p.test()             #对象调用类方法
p.test1()            #对象调用静态方法
6、类和对象调用私有方法
People.__test2(p)     #报错  类不能直接调用私有方法
People.test3(p)         #这个是一个私有方法  可以通过创建一个实例方法来引用私有方法的结果
p.__test2()           #对象也不能调用私有方法
p.test3()         #这个是一个私有方法(通过间接方式)
7、类的三大特性
1)封装(在类里面写的方法就是封装)
class People:
def init(self,name):
self.name = name     #占位符
def test(self):         #实例方法
print(self.name)

def set_name(self,name):
self.__name = name      #私有变量(双下划线)

def get_name(self):
return self.__name

p = People('xiaoma')
p.set_name('xiaoduan')    #需要传实际参数:xiaoduan
print(p.get_name())     #xiaoduan
p.test()
2)继承
class Father(object):
def init(self):
pass
def smoke(self):
print('喜欢抽烟')
def money(self):
print('有钱')
def Lol(self):
print('喜欢lol')
class Son(Father):
def init(self):
Father.init(self)    #继承父类的构造方法
def meinv(self):     #自己的实例方法
print('喜欢美女')
def car(self):
print('喜欢车')
def bar(self):
print('喜欢泡吧')
s = Son()
s.meinv()
s.car()
s.Lol()
s.money()
s.smoke()
1、继承:类的继承是面向对象程序设计的一个重要思想,继承时子 类可以继承父类的内容,
包括成员变量和成员函数。
2、在继承中一个类被另外一个类继承这个类称之为父类也称之为基 类,则另外一个类则为子
类也称之为派生类。
多态
1、多态是以继承和重写父类方法为前提,对所有子类实例化产生的对象 调用相同的方法,
执行产生不同的执行结果。
2、例如同样是人,但是当问起一个人的职业时会有不同的结果,可能是 软件测试工程师,
可能是HR
3、一个对象的属性和行为不是由他所继承的父类决定的,而是由其本身 包含的属性和方法决定的。

class Animal(object):    #父类
def say(self):
print('动物园')
class Dog(Animal):
def say(self):
print('汪汪')
class Cat(Animal):
def say(self):
print('喵喵')
d = Dog()
d.say()
c = Cat()
c.say()

分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册