类和面向对象的概念

在编程中,一般存在两种编程思想:

  • 面向过程:是以过程为中心的编程思想。
  • 面向对象:是对象及其之间的交互为中心的编程思想。

为什么要学习面向对象技术?

  • 计算机编程技术是逐步发展过来的。面向对象技术的发展,也是伴随着计算机计算能力的提升,以及计算机在其他领域的应用,而发展起来的。
  • 面向过程开发过程中的特点,很适合“科学运算领域”。目的明确,变化较少,注重拆解的过程,关注运算效率。

但是随着计算技术在“现实世界的模拟”等领域的应用,面临着新的问题与需求:

  • 事物的抽象是开放的,未来会根据需要进行调整 (适应变化的需要)
  • 业务流程不仅仅关注执行的过程,还关注事物间的关系 (适应抽象的需要)
  • 业务需求庞大的时候,项目周期的瓶颈在于开发时间,而不局限在运行效率上 (适应效率的需要)

思维方式的转变:

  • 面向对象是相对于面向过程的,比如你要充话费,你会想,可以下载支付宝,然后绑定银行卡,然后在手机充值页面自己充值,这种就是面向过程。
  • 但是对于你女朋友就不一样了,她是面向“对象”的,她会想,谁会帮她充话费呢?第一个想到的当然是你了,她就给你电话,然后你把之前的做了一遍,然后她收到话费到帐的短信,说了句:谢谢亲爱的!这就是面向对象!女生的部分思维是面向“对象”的!她不关心处理的细节,只关心谁可以完成某件事情。
比较维度面向过程面向对象
背景科学计算为目标软件系统开发
编程方法自顶向下 .自底向上
代码结构程序=数据+算法(函数/过程)程序=对象+交互
数据操作主体函数/过程中对象的方法中
模拟方法通过函数操纵表现世界的数据和状态把世界描绘成具有主动性的对象间的交互
编程思维处理数据的步骤面向对象分析
运行效率较高稍低
大规模开发效率较低较高

类和对象的定义和调用

#定义"车"类
class Car:                     #定义类: Class 类名:
    energy = "电动"             #属性,表特征

    def move(self):             #方法,表行为  #self 默认参数,c既是self指代内容
        print("在移动...")

#定义车
c = Car()                       #对象实例化: 对象名称 = 类名()
print("能源类型:",c.energy)     #访问属性: 对象名称.属性
c.move()                        #调用方法: 对象名称.方法
  • 在属性的表述上,可以将c.energy理解为"车辆实例c的能源类型",符号".“可以表述为"的”
  • 在方法的调用上,可以将c.move()理解为"车辆实例c在移动",符号".“可以表述为"在做…”
  • 通常,我们将属性命名为"名词";方法命名为"动宾结构"。
    类名一般开头字母大写
    属性和方法的命名同样遵循变量的命名规则,建议使用驼峰命名法(开头字母小写,后面的每个单词开头字母大写)

类和对象简单区分

  • 类:具有相同属性的一类事物
  • 类是抽象的,规定了具体对象的特征和行为
  • 对象:也被称为实例,将类中定义的特征具体化(赋值),就是一个对象或实例
面向对象面向过程
属性(特征)变量(状态)
方法(行为)函数(操作)
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值