Lawliet|面向对象/面向过程

1.面向对象的程序设计

对象object

——包含属性和行为,通过描述属性和行为来描述一个对象,是程序的基本单元。

  • 对象=属性(特征)+方法(行为)

类class

——具有相同属性和方法的对象的集合,对象是类的具体实例

  • 类是对象的模板或蓝图,类是对象的抽象化,对象是类的实例化。
  • 类不代表具体的事物,而对象表示具体的事物

创建类

属性:类当中用于描述所有对象共同特征的变量或数据
方法:类当中的函数,用于区别类外面的函数,用来实现某些功能

#创建一个学生类
class Student:
#定义学生属性,初始化方法
	def __init__(self,name,score):
	''' 
	__init__是类的构造函数,这个方法会在创建时完成初始化
	self:在python中会明确的把代表自身实例的self作为第一个参数传入
	self向__init__传递参数
	由于类可以起到模板的作用,所以在创建实例时,把一些认为必须绑定的属性强制填写进去'''
		self.name=name
		self.score=score
	#定义打印学生信息的方法
	def show(self):
		print("Name:{}.Score:{}".format(self.name,self.score))
#具体的学生对象
st1=Student("张三",100)
st2=Student("李四",99)
print(st1.name,st1.score)#------>张三 100
print(st1.show())#------>Name:张三.Score:100
  • 有了__init__()方法,在创建实例的时候,就不能传入空的参数了,必须传入与__init__()方法匹配的参数
  • self不需要传入,python解释器自己会把实例变量传进去
  • 和普通的函数相比,在类中定义的函数只有一点不同,就是第一个参数永远是实例变量self,且调用时不用传递该参数。
class Animal:
	def __init__(self,name):
		self.name=name
		print('动物名称实例化')
	def eat(self):
		print(self.name+'要吃东西啦!')
	def drink(self):
		print(self.name+'要喝水啦!')
cat=Animal('波斯猫')#------>动物名称实例化
print(cat.name)#------->波斯猫
cat.eat()#------>波斯猫要吃东西啦!
cat.drink()#------>波斯猫要喝水啦!

类继承

  • 继承是类与类之间的一种关系,是一种子类与父类的关系
  • 用代码表示继承,语句是:
    class A(B): #A:子类名,B:父类名
class Person:
	def __init__(self,name):
		self.name=name
		print('调用父类构造函数')
	def eat(self):
		print('吃海鲜去')
class Student(Person):
	def __init__(self):
		print('调用子类构造方法')
	def study(self):
		print('Python语言')
s=Student() #实例化子类 ------>调用子类构造方法
s.study() #调用子类方法 ------>Python语言
s.eat() #调用父类方法 ------>吃海鲜去

2.面向过程的编程

  • 面向过程编程:当解决一个问题时,面向过程会把事情拆分成一个个函数和数据,然后按照一定的顺序执行的问题解决。
  • 面向对象编程:面向对象会把事物抽象成对象的概念,在问题中有哪些对象,然后给对象赋一些属性和方法,然后让每个对象去执行自己的方法,问题得到解决。

3.各自优缺点

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值