python面向对象day01

面向对象思想

1.什么是面向对象思想
面向对象思想指的是一种编程思想(思想是指想法而不是实现),相对于面向过程而言。只关心哪个对象完成这个功能,它关注的是完成功能的结果。它决定了编写代码的一种习惯和流程。这种思想和语法无关,不同的语言会有不同的实现(python,java,python,c++,js....)

2.面向对象和面向过程的区别
面向过程关注的是完成业务需求需要的步骤,每次完成业务(无论是否相同)都按照步骤一步一步的实现;
面向对象关注是完成业务需求需要的对象(实体),有了对象就可以使用对象上的功能,是一种解决程序复用的设计和编程方法(下次再实现相同的业务直接调用已经实现的实体避免代码的重复)。

3.面向对象思想特点
A.是符合人们思考习惯的一种思想
B.将程序员从执行者转换为指挥者
C.将复杂的事情简单化
面向对象的三大特征:
封装,继承,多态

面向对象语法

类的概念:
    1.通过中文描述现实世界的事物:
	外在的特征:外在的属性描述
	内在的行为:具备的功能
	比如:
		手机:
			外在特征:颜色,大小,品牌
			内在行为:打电话,发短信,上网,玩游戏
            
            
    2.类的定义:类是用来对同一类事物(对象)共有的特征(属性)和行为(方法)的描述(或者抽象)。
	现实事物:
		外在特征
		内在行为
用python中的类描述事物:
class 类名:     //使用class关键字加空格,后面加上一对小扩号 加 :(冒号)
	//类成员
	//属性(字段,变量),定义在类里边。
	//方法(函数)
    
    
    
    3.语法:
        类的声明:
class 类名:
	#属性
	#方法
	def 方法名(self[,参数列表]):
	#方法体
    
    
    4.类的声明注意事项:
        a.类名首字母大写 大驼峰规则
		b.对象方法的定义和函数类似,也可以设置参数和返回值.但是		方法的第一个参数必须为self
		c.方法必须写在类的缩进中

初始化方法

语法:
class 类名:
	def __init__(self,形参1,形参2):
            # 绑定初始属性, 创建对象的时候自动执行
            self.属性名1 = 形参1
            self.属性名2 = 形参2
概念:__init__()叫作对象的初始化方法,在创建对象的时候自动调用执行.在类中定义,名字固定
执行时机:在创建对象的时候自动调用执行
作用:我们可以实现该方法,并且在该方法中进行初始化工作(例如:定义属性和设置属性值)
例子:
    # 创建一个学生类
class Student:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def run(self):
        print(f"{self.age}的{self.name}在锻炼身体")


# 实例化
lisi = Student("李四", "18")
lisi.run()

str方法

1.如果直接print(object)打印对象,会看到创建出来的对象在内存中的地址
2.当使用	print(object)	输出对象的时候,只要对象的类中定义了	__str__(self)	方法,就会打印该方法 return的信息描述
3.(了解)在python中方法名如果是__xxxx__()的,那么就有特殊的功能,因此叫做“魔法”方法
注意:
4.名称固定: __str__()
5.执行时机: 使用print()打印一个对象时,被python自动调用执行。
6.作用:返回对象的描述信息,不至于看地址太枯燥了
7.不能自定义参数



例子:
    # 创建一个学生类
class Student:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def run(self):
        print(f"{self.age}的{self.name}在锻炼身体")

    # 定义__str__方法
    def __str__(self):
        return f"<学生{self.name}对象,内存地址{id(self)}>"


# 实例化对象
lisi = Student("李四", 20)
lisi.run()
print(lisi)# 打印描述信息

对象

对象:
    对象变量=类名(实参1,实参2)
    对象变量=类名(形参1=实参1,形参2=实参2)
使用对象
	属性:
        对象.属性名 # 查看
        对象.属性名 = 值 # 添加
        对象.旧属性名 = 新值 # 修改
        del 对象.属性名 # 删除
        
    方法:
        对象.方法名([实参]) # 实参从形参的第二个参数开始传递
发布了20 篇原创文章 · 获赞 0 · 访问量 208

猜你喜欢

转载自blog.csdn.net/weixin_46054381/article/details/103794688