面向对象编程

本文介绍了面向对象编程的基本概念,包括对象、类、实例的概念及它们之间的关系,详细讲解了类的创建、实例化过程,以及如何使用实例方法和初始化方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


面向对象编程
     类 class 和 对象 object
什么是对象:
     对象是指现实中的物体或实例
什么是面向对象:
     把一切看成对象(实例),对象和对象之间用方法(行为)建立关联关系
什么是类:
     拥有相同属性和行为的对象分为一组,即为一个类
     类是用来描述对象的工具
面向对象示意:
  车(类)  ----->> BYD E6(京A.88888) 对象(实例)
         \
          \--->> BMW X5(京B.00000) 对象(实例)
  狗(类)  ----->> 小京巴(户籍号: 00001)
         \
          \--->> 导盲犬(户籍号:00002)
  int(类)  --->> 100(对象)
          \
           \-->> 200(对象,实例)
类的创建语法:
  class 类名(继承列表):
      """类文档字符串"""
      实例方法(类内的函数methd) 的定义
      类变量(class variable) 定义
      类方法(@classmethod)定义
      静态方法(@staticmethod)定义
类的作用:
  可以用类创建一个或多个此类的对象(实例)
  类内的变量和方法能被此类所创建的所有实例所共同拥有
说明:
  类名必须是标识符(与变量名命名规则相同,建议首字母大写)
  类名实质上就是变量,它绑定一个类实例
  类的定义最后面要加两个空格以告诉解释执行器,类的定义已经结束
示例:
  class Dog:
      pass
术语
 类         对象      实例
class     object    instance
构造函数:
  构造函数的调用表达式 
    类名([创建传参列表])
    [] 里的内容代表可省略
  作用:
    创建这个类的实例对象,并返回此实例对象的引用关系
示例:
  class Dog:  # 定义一个类
      pass
  dog1 = Dog()     # 用类来创建一个对象用dog1绑定
  print(id(dog1))  # 打印dog1所在的内存地址
  dog2 = Dog()  #  创建第二个对象 用dog2绑定
  print(id(dog2))
  print(dog1 is dog2)  # 判断两只狗是不是同一条狗
实例说明:
  实例有自己的作用域或名字空间,可以为该实例添加实例变量(也叫属性)
  实例可以调用类的方法
  实例可以访问类中的类变量
实例变量(属性 attribute)
  每个实例可以有自己的变量,称为实例变量(属性)
属性的使用语法:
  实例.属性名
属性的赋值规则:
  (同变量规则相同)
  1. 首次为属性赋值则创建此属性
  2. 再次为属性赋值则改变属性的绑定关系
 语法:
    class 类名(继承列表):
        def 实例方法名(self, 参数1, 参数2, ....):
           语句块
  作用:
    用于描述一个对象的行为,让此类型的全部对象都拥有相同的行为
  说明
    实例方法的实质是函数,是定义在类内的函数
    实例方法的第一个参数代表调用这个方法的实例,一般命名为'self'
实例方法的调用语法:
  实例.实例方法名(调用参数)
  或
  类名.实例方法名(实例, 调用参数)

初始化方法
  作用:
    对新创建的对象添加属性等必须的资源
  语法形式:
    class 类名:
        def __init__(self[,参数列表]):
            语句块
        [] 代表其中内容可省略
说明:
    初始化方法名必须为__init__不可改变
    初始化方法会在构造函数创建实例后自动调用,且将实例自身通过第一个参数self传入__init__方法
    构造函数的实参将通过__init__方法的参数列表传到__init__方法中
    初始化方法内如果需要return语句返回,则必须返回None


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值