自定义数据定义类型
class Author:
def __init__(self,username,password):
self.username = username
self.password = password
数据(存储)定义类型
class DataDefined:
def __init__(self):
a1 = Author("admin","admin")
self.authors = {"admin",a1}
def get_data(self):
return self.authors
数据服务类型
class AuthorService:
def __init__(self):
self.data = DataDefined()
self.authors = self.data.get_data()
def login(self):
"""用户登录"""
#输入账号+密码
#判断:self.authors进行判断是否成功
def register(self):
"""用户注册"""
#输入账号+密码
#存储:self.authors
界面类型层
class Menus:
def __init__(self):
self.author_service = AuthorService()
def show_login(self):
print("展示登陆界面")
choice = input("输入选项:")
if choice == "1":
#用户登录
res = self.author_service.login()
if res:
#展示首页
return self.show_index()
else:
return self.show_login()
def show_index(self):
pass
程序启动的地方
menus = Menus()
menus.show_login()
界面类型层 -> 服务类型层 ->数据(存储)定义层->自定义数据类型层
Menus() -> AuthorService() ->DataDefined() ->Author()
#################
自定义数据类型层向数据定义层过渡需要有存储的过程
数据库中的数据(数据自定义层) -> 数据读写(存储)->保险箱(数据定义层)->服务类型人员(服务类型层)->大堂经理(界面类型层)
1.什么是面向对象?
对面向过程编程的补充和完善,通过对象和对象之间的交互协作完成项目功能的开发
2.什么是类和对象?
①类型:代码中可以通过class关键字,自定义一个数据类型
(1)数据类型:简称类型:简称类-> 自定义数据类型-> 自定义 类
(2)基本语法:
class 类型名称:
类型中的代码
(3)类型名称命名规范:见名知意、驼峰命名法[一个或者多个英文单词组成、每个单词首字母大写]
(4)类型:通过项目中需要的大量有相似特征和行为的对象,抽象出来的一个数据类型
②对象:
对象:有具体特征和行为操作的事物
代码:有具体(特征)属性和(行为)方法的对象-> “事物”
生活:类型和事物
类型是事物抽象出来的一个称呼/概念
事物是属于某种类型的一个具体存在的物体
3.类和对象的区别?
类型:通过对象抽象出来的一个数据类型
类型中需要定义对象需要的特征[属性|变量]和行为[方法]
class Person:
# 定义属性、特征
# 固定写法:在__init__方法中,定义类型的属性
def __init__(self, name, age, gender):
self.name = name
self.age = age
self.gender = gender
# 定义方法、行为
def eat(self, food):
print("吃饭了")
注意1:class 关键字,用来声明定义一个类型,固定写法
注意2:类型中的所有函数,第一个参数self表示当前对象,类似生活中的一个名词:我
注意3:类型中的函数,必须称为方法;
函数 和 方法 : 两个东西
方法是一种特殊的函数,只能在类型中使用!
注意4:类型中方法,第一个参数:指代的是当前对象~~~一般被声明为self
表示当前对象,调用的时候不需要传递数据给self!
对象:某种类型一个具体存在的事物
代码中的对象,需要通过类型来创建
如:tom = Person('汤姆', 18, '男')
通过 类型名称() 的方式创建对象
创建对象时,自动调用执行__init__()方法,将对象需要的数据传递过去
有了对象,就可以执行对象的行为:调用对象的方法
通过 对象的变量.方法()直接调用
如:tom.eat("鱼香肉丝") tom:变量,存储了Person()对象的内存地址
--对象的引用变量【变量中存放的是可以引用到对象的内存地址】
自己理解:先定义一个类,然后定义对象的属性、特征,接下来定义对象的行为。创建对象(需要将对象得到属性数据传进来),通过“对象.方法()”的方式来直接调用.
整个流程:
①声明定义类型
②初始化类型属性
③定义类型的方法
④对象的创建、属性的调用、方法的调用
网友评论