Python基础 - 8.面向对象编程

本文介绍了面向对象编程的基础知识,对比了面向过程和面向对象的编程思维,详细讲解了Python中类和对象的概念,以及如何声明类和创建对象。内容包括属性、方法、初始化方法`__init__`和析构方法`__del__`,还讨论了私有属性和对象的引用计数。此外,提供了练习题,包括创建Cat类、描述类之间的关系以及定义描述三维空间点的Point类。
摘要由CSDN通过智能技术生成

面向对象和面向过程

面向过程:C、Basic、汇编

面向对象:C++、Java、PHP

面向过程是从计算机的角度出发考虑问题

面向对象是从人的角度出发考虑问题

比如:学生去教室上课

面向过程:

起床
洗刷刷
穿衣服
吃早餐
出门,往教室方向走
if 遇到红灯:
   while 红灯亮:
     等待直到绿灯
If 遇到漂亮妹子:
  搭讪
到了教室
while 上课时间未到:
  等待
开始上课
while 下课时间未到:
  吃饭
  睡觉
  打豆豆
下课

面向对象:

定义学生类
定义学生类的属性:姓名、年龄、身高、专业、班、学号、……
定义学生类的方法:吃饭()、睡觉()、上课()、下课()
定义教室类
定义教室类的属性:位置、容量、网络状态
定义教室类的方法:开门()、关门()、……
创建一个学生类的对象 yangbing
创建一个教室类的对象 204
执行学生的上课的方法 yangbing.上课(204)

面向过程由于适用于底层软件

相对面向过程来说,面向对象更适合组建大团队工作,适用于上层的软件。

面向对象是从第三者的角度出发来考虑问题。

面向对象和面向过程是不同的编程思维,在不同的场合下使用,看问题的角度不同。不能绝对说谁优谁劣

常用面向对象编程语言的区别

C++、Java、Python

Java:纯粹的面向对象编程语言。里面没有任何的面向过程的东西。

public class Test {
  public static void main() {
    System.out.println(“hello”):
  }
}

任何的代码都必须在类里面去编程,脱离了类就什么都没有了

C++:在C语言的基础上,加上面向对象的概念(C加面向对象)

int main() {
  printf(“hello”);
}

Python:面向过程或面向对象

print("hello") 

什么是对象

Python没有new

程序猿没有对象怎么办?自己new一个

天上飞的:飞机、大炮、小鸟……

地上跑的:蛇、牛、羊、猪、……

水里游的:鱼、虾、蟹、……

抽象的:规则、项目、方法……

世界上万事万物都是对象

如何区分类和对象

思考下面的话:

  • 1 狗是类 狗是对象

  • 2 yangbing是类 yangbing是对象

对象是具体的;类是抽象的。

  • 一个类中可以包含多个对象

  • 类是某一系列对象的集合(总称)

声明类和创建对象

OOP:Object Oriented Programming(面向对象编程)

OOA、OOD、OOP:

Python中创建类的方式:

class 类名:
   类中的代码

约定的习俗:类名首字母大写。比如:

class Dog:
    pass

Python中创建对象的方式

对象名 = 类名()

比如:

# dog1是Dog的对象
dog1 = Dog()
print(dog1) # <__main__.Dog object at 0x000001CAA988FE48>
print(type(dog1)) # <class '__main__.Dog'>

Dog是类

dog1是对象。dog1是Dog的对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值