什么是面向对象?
类和对象的区别?
类的声明定义语法操作?
声明定义类型
初始化类型属性
定义类型的方法
对象的创建、属性的调用、方法的调用
1.面向对象的概念
面向对象就是通过代码操作还原生活场景,
简单的代码操作-> 基础语法,堆叠功能[变量、数据类型、运算、if、while]
万物皆为对象,对象主要分为类型,特征,行为。按照大量食物的外观特征和行为操作,将不同的事物分为不同的类型,方便区分对象。
类型:是一个名称、是一个概念、是一个称呼;
是从大量有相似外观特征和相似行为的事物中抽象出来的
2.类型和对象的区别:
类型:通过对象抽象出来的一个数据类型
类型中需要定义对象需要的特征[属性|变量]和行为[方法]
3.类型的声明定义语法操作:
注意1:class 关键字,用来声明定义一个类型,固定写法
注意2:类型中的所有函数,第一个参数self表示当前对象,类似生活中的一个名词:我
注意3:类型中的函数,必须称为方法;
函数 VS 方法 : 两个东西
方法是一种特殊的函数,只能在类型中使用!
注意4:类型中方法,第一个参数:指代的是当前对象~~~一般被声明为self
表示当前对象,调用的时候不需要传递数据给self!
4.类的声明定义
通过class 关键字进行定义
----------------------------------
class 数据类型名称:
类型中的代码
example:
# 创建一个Person类型
class Person:
pass
5.初始化类型的属性
创建对象a = Author()-> Author.new()方法创建对象
-> Author.init()方法初始化数据
-> 得到一个Author对象
6.定义类型的方法
通过 类型名称() 的方式创建对象
创建对象时,自动调用执行init()方法,将对象需要的数据传递过去
有了对象,就可以执行对象的行为:调用对象的方法
通过 对象的变量.方法()直接调用
7.对象的创建
创建对象
变量 = 类型名称()
tom = Person()
tom:变量,存储了Person()对象的内存地址
--对象的引用变量【变量中存放的是可以引用到对象的内存地址】
使用对象:直接通过变量操作对象
print(type(tom))--> <class '__main__'.Person>
8.方法调用执行
调用执行方法:类似与调用执行函数
方法的调用执行:必须通过对象的引用变量进行调用!
author = Author()
author.introduction()
9.属性的调用
定义属性、特征
# 固定写法:在__init__方法中,定义类型的属性
def __init__(self, name, age, gender):
self.name = name
self.age = age
self.gender = gender