【Python】基础学习(五)面向对象编程
面向过程编程的:C
面向对象的编程:java,python
面向过程:
一种以过程为中心的编程思想;例如:把大象放冰箱里分三步。
简单的事情;
面向对象:
一种更符合我们思维习惯的编程思想;例如,生产一个汽车,把汽车的零件拆分,分不同的团队去生产,最后将零件组装成汽车;
面向对象开发就是不断的创建对象,使用对象,操作对象做事情;例如:人类,张三 就是一个实例;
复杂的事情
语言层面:封装代码和数据
规格层面:对象是一系列可被使用的公共接口
从概念层面:对象是某种拥有责任的抽象
面向对象和面向过程是相辅相成的,底层的逻辑也可能是面向过程的;
面向对象程序设计规则:
首先分析有哪些类
每个类有哪些属性和行为
类与类之间存在的关系
类、实例、方法、变量
类:抽象的概念,一类事物。
方法:类中定义的函数,对外提供的服务。例如,接口
类变量:类里拥有的属性,类变量在真个实例化的对象中是公用的;可以通过类进行访问,可以被修改,例如,persion.name
实例引用:实例化一个对象
实例变量:以self.变量名 的方式定义的变量;通过实例引用,可以被修改,例如,zs = persion() zs.name
类方法和实例方法的区别
类方法是不能直接访问,如果要访问需要加装饰器,@classmethod,加了装饰器可以通过实例方法进行方法
实例方法是可以直接进行访问的
例:
1----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
class Person: #类 name = "Name" #类变量,属性 age = 20 gender = "male" def __init__(self,name): #构造方法,初始化的方法 执行zs = Person()之前会先执行__init__ print("init fuction") self.name = name #实例变量,每个实例拥有的属性 def set_param(self,name): #设置类的属性值;该方法比较麻烦,set_param自己睡衣定义的 self.name = name def dance(self): #方法 print("会跳舞") def sing(self): print("会唱歌") zs = Person(name="Bob") #类的实例化 zs.dance() #方法 zs.name #属性 zs.__dict__ #内置的方法
2--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
class Person: #类 name = "Name" #类变量,属性 age = 20 gender = "male" def __init__(self,name): #构造方法,初始化的方法 执行zs = Person()之前会先执行__init__ print("init fuction") self.name = name def dance(self): #方法 print("会跳舞") @classmethod def sing(self): print("会唱歌") Person.sing()