面向对象伊始

2017-07-29  本文已影响0人  云Shen不知处

类的定义

面向对象:就是将生活中的对象抽象到程序中
生活中的对象,就得把生活中的思想抽象到程序中

# 定义一个用户类
class Users:
    def __init__(self,username, password, nickname):
        self.username = username
        self.password = password
        self.nickname = nickname

    def eat(self):
        print(self.nickname + "在吃饭")

    def sleep(self):
        print(self.nickname + "去开房了...")

    def play_game(self):
        print(self.nickname + "去玩耍了....")

# 创建类型对应的实际存在的物体:创建对象
u1 = Users("admin", "admin", "old_wang")
print(type(u1))
print(u1.username, u1.password, u1.nickname)
u1.eat()
u1.sleep()
u1.play_game()

u2 = Users("manager", "manager", "old_li")
print(u2.username, u2.password, u2.nickname)
u2.eat()
u2.sleep()
u2.play_game()

对象的创建过程

#class Users:
class Users(object):
    def __new__(cls, *args):# new创建
        print("__new__()函数执行了...")
        return super(Users, cls).__new__(cls)

    def __init__(self, name):# init: initalization 初始化
        print("__init__()函数执行了...")
        self.name = name

u = Users("tom")

案例

#定义一个类型


class Person(object):
    def __init__(self,name,sex,age):
        self.name = name
        self.sex = sex
        self.age = age
        self.consort = None #
        self.type = None #娶妻? 入赘?

    def __str__(self):
        return "姓名:%s;性别:%s;年龄:%s;配偶:[%s];婚姻类型:%s;"%(self.name,\
                                    self.sex,self.age,self.consort,self.type)

    #定义一个结婚的方法
    def marry(self,person):
        if self.sex == "男":
            self.type = "娶妻"
        else:
            self.type="人赘"

        self.consort = person
        person.consort = self.name
        person.type = self.type


#创建对象
jack = Person("杰克","男","23")
rose = Person("露丝","女","22")

jack.marry(rose)
print(jack)
#rose.marry(jack)
#print(rose)
上一篇 下一篇

猜你喜欢

热点阅读