面向对象

-----------------------态度决定深度,格局决定宽度,思想决定高度.

# ---------------------------------------------------------------------------------#
# class rainbow:
# pass
#
# r = rainbow()
#
# r.fi_color = "red"
# r.se_color ="yellow"
# r.th_color = "blue"
# r.fo_color = "purple"
# r.fv_color = "green"
# r.sx_color = "orange"
#
# t = rainbow()
#
# t.fi_color = "red"
# t.se_color ="yellow"
# t.th_color = "blue"
# t.fo_color = "purple"
# t.fv_color = "green"
# t.sx_color = "orange"
#
# print(r.fi_color)
# print(r.se_color)
# print(r.th_color)
# print(r.fo_color)
# print(r.fv_color)
# print(r.sx_color)


# class Superstar():
# def __init__(self,id,high,movie,age):
# self.id = id
# self.high = high
# self.movie = movie
# self.age = age
#
#
# def Singsong(self,damajiang,lvyou):
#
# print("我要%s" % damajiang,lvyou)
#
# huazai = Superstar('no.89757',178,'神都龙王',50)
# print(huazai.age,huazai.id,huazai.high,huazai.movie)
#
# zhazh = Superstar('no.77977',160,'赌神',47)
# print(zhazh.age,zhazh.id,zhazh.high,zhazh.movie)
#
#
# huazai.Singsong("打麻将","旅游")


# __init__: 构造方法
#
# self: 自己调用自己


# class DongHuaPian():
#
# def __init__(self, name, zhujiao, borg, xifen):
# self.name = name
# self.zhujiao = zhujiao
# self.borg = borg
# self.xifen = xifen
#
# def haopenyou(self):
# print("%s" % self.zhujiao)
#
# def wholove(self):
# print("%s" % self.borg)
#
# def feel(self):
# print("%s" % self.xifen)
#
# huluwa = DongHuaPian("dawa","xiaojingang","boy","byihao")
# print()
#
# huluwa.haopenyou()
# huluwa.wholove()
# huluwa.feel()

# ---------------------------------------------------------------------------------#

# class usr():

# def __init__(self, username, password):
# self.username = username
# self.password = password

# def login(self, u_name, p_word):
# if u_name == self.username and p_word == self.password:
# return True
# else:
# return False


# ul = usr("ajax", "123")

# dada = ul.login(input("账号--> "), input("密码-->"))
# print(dada)

# ---------------------------------------------------------------------------------#
# 面向对象作业(01)
#
# 1.简述编写类和执行类中方法的流程。
# 编写类: 首先定义一个类class--> 构造方法-->创建类对象-->调用类对象-->执行类对象

# 执行类: 获取到类对象--> 调用方法--> 执行方法

# ---------------------------------------------------------------------------------#
# 2.简述面向对象三大特性?

# 封装:对属性封装,和对方法的封装
# 继承:在子类中及执行本类又执行父类的方法
# 多态:(鸭子类型) ,可以使用相同的函数名,调用的逻辑也一样,但执行的结果却不一样,具有不同的函数的功能.
# ---------------------------------------------------------------------------------#
# 3.将以下函数改成类的方式并调用:
# def func(a1):
# print(a1)
#
# class func:
# print("a1")
#
#
# r = func()
# print(r)


# ---------------------------------------------------------------------------------#
# 4.方法和函数的区别

# / * < -- 类对象调用func是方法,类调用func是函数--> * /

# /*<-- 最大的区别是参数的传递参数,方法是自动传参self,函数是主动传参-->*/

# ---------------------------------------------------------------------------------#
# 5.什么是构造方法? 构造方法会在什么时候被调用

# 在类下面定义的函数就是构造方法
# 调用类对象的时候,然后执行类对象下面的函数时就会被调用

# ---------------------------------------------------------------------------------#
# 6.面向对象中的self指的是什么?
# 是 自己调用自己 就是self

# ---------------------------------------------------------------------------------#
'''
class Person:
def __init__(self, name, age, gender):
self.name = name
self.age = age
self.gender = gender
obj = Person("王德福",18,"男")
'''
# 7.以上代码体现面向对象的什么特点?

# /*<-- 封装-->*/

# ---------------------------------------------------------------------------------#
'''
class Message:
def email(self):pass
def msg(self):pass
def wechat(self):pass
'''
# 8.以上代码体现面向对象的什么特点?.

# /*<-- 封装-->*/

# ---------------------------------------------------------------------------------#
# '''
# class Foo:
# def func(self):
# print('foo.func')
# obj = Foo
# res = obj.func()
# print(res)
# '''
# 9.看上面代码写结果:


# /*<-- TypeError ->*/func() missing 1 required positional argument: 'self'

# ---------------------------------------------------------------------------------#
# 10.定义一个类,其中有计算周长和面积的方法(圆的半径通过参数传递到构造方法)。
# class ciecle():
# def __init__(self,r):
# self.r = r
#
# def calculate_perimeter(self,r):
# print(2*3.14*r)
#
# def calculate_area(self,r):
# print(3.14 * r**2)
#
# cc = ciecle("5")
# cc.calculate_area()
# cc.calculate_perimeter()

# ---------------------------------------------------------------------------------#
# 11.面向对象中为什么要有继承?.

# 方便子类 调用父类的共有的信息
# 简化重复繁琐的信息

# ---------------------------------------------------------------------------------#
# 12.Python多继承时,查找方法的顺序遵循什么规则?

# 优先使用自己的,然后使用临近的,最后使用最远的

# ---------------------------------------------------------------------------------#
'''
class Base1:
def f1(self):
print("base1.f1")
def f2(self):
print("base1.f2")
def f3(self):
print("base1.f3")
self.f1()

class Base2:
def f1(self):
print("base2.f1")

class Foo(Base1,Base2):
def f0(self):
print("foo.f0")
self.f3()

obj = Foo()
obj.f0()

'''

# 13.看上面代码写结果:

# foo.f0
# --------------*******--------------
# base1.f3
# base1.f1

# ---------------------------------------------------------------------------------#
'''
class Base:
def f1(self):
print("base.f1")

def f3(self):
self.f1()
print("base.f3")

class Foo(Base):
def f1(self):
print("foo.f1")

def f2(self):
print("foo.f2")
self.f3()

obj2 = Base()
obj2.f2()

'''

# 14.看上面代码写结果:

# base.f1 #【 ㄨ 】
# base.f3 #【 ㄨ 】

# Error

# ---------------------------------------------------------------------------------#
# 15.补充代码实现:
#
# 1.while循环提示用户输入:用户名、密码、邮箱
# count = 3
#
# while 1:
# print("---输入数据,Q退出---")
# usr_name = input("账户-->")
# ps_word = input("密码-->")
# e_mail = input("邮箱-->")
# count -= 1
# if count == 0:
# break
#
# # 2.为每个用户创建一个对象,并添加到列表中。#
# nist = ['usr1','usr2','usr3']
#
# class usr1:
# def __init__(self,usr_name,ps_word,e_mail):
# pass
#
#
# class usr2:
# def __init__(self, usr_name, ps_word, e_mail):
# pass
#
#
# class usr3:
# def __init__(self, usr_name, ps_word, e_mail):
# pass

# 3.当列表中的添加了3个对象后,跳出循环并以此循环打印所有用户的姓名和邮箱。如:

# 我叫ajax,邮箱是xxx@live.com
# 我叫oldboy,邮箱是old@live.com


# ---------------------------------------------------------------------------------#.


class user:
def __init__(self, name, pwd):
self.name = name
self.pwd = pwd


class Account:
def __init__(self):
self.user_list = [] # 用户列表,数据格式:[User对象,User对象,User对象]

def login(self):
###用户登录,用户输入用户名和密码并去self,user1ist中检查用户是否合法
# return##
pass

def register(self):
### 用户注册,动态创建User对象,并添加到self, user list中
# return###
pass

def run(self):
### Q主程序,先进行2次用户注册,再进行用户登录(3次重试机
# return:####
pass


if __name__ == "__main__":
obj = Account()
obj.run()

# 16.补充上述代码:实现用户注册和登录(升级题)
#
#
#
#
# 明日默写:
# 1.你理解的面向对象.类. 对象分别是什么含义
# 2.如何创建类
# 3.__init__是什么? 什么地方会调用__init__
# 4.写一写你对面向对象三大特征的理解
posted @ 2018-11-06 23:08  黄豆豆丨Dealdwong  阅读(272)  评论(1编辑  收藏  举报