29、类与对象基础

作者: 唯老 | 来源:发表于2019-03-22 15:59 被阅读19次

一、类

1、什么是类

在 python 中所有类型的数据都可以看成对象, 包括我们我们以前学习的所有的内置类型int, float等.

像这些 int, float, list这些数据类型, 就是我们面向对象中的类

我们可以根据需要自定义很多类型出来, 这些自定义的类型也是我们面向对象中的类

2、分类

python3中统一都是新式类, pyhon2中才分新式类与经典类

  1. 经典类
  2. 新式类

3、自定义类的组成

image

4、语法

  1. 经典类格式
    class 类名:
    #静态字段
    属性=值
    #私有静态字段(外部无法访问)
    _属性=值
     #私有静态字段且子类无法覆盖
    __属性=值
    def __init__(self,参数1,参数2,...):
        """"初始化方法(构造方法)"""
        #普通字段
        self.字段 = 参数1
        self.字段 = 参数2
    def 方法名(self,参数1,参数2,...):
        '''无返回值的方法'''
    def 方法名(self,参数1,参数2,...):
        '''有返回值的方法'''
        retrun 返回值
     @property  
     def 属性名(self):
        return obj
    
  2. 新式类格式
    class 类名(object):
    #静态变量
    属性=值
    #私有变量
    _属性=值
     #用来避免子类覆盖其内容
    __属性=值
    def __init__(self,参数1,参数2,...):
    """"初始化方法(构造方法)"""
    self.变量名 = 参数1
    self.变量名 = 参数2
    def 方法名(self,参数1,参数2,...):
     pass
    

5、举个栗子

  1. 栗子1
    class Person():
        def __init__(self, name):
            self.name = name
        def say(self):
            print(self.name + ":在说话")
        def run(self):
            print(self.name + ':带着小姨子跑路了')
    if __name__ == '__main__':
        person = Person('小明')
         print(person.name)
        person.say()
        person.run()
    
  2. 说明


    image
  3. 内存分析图


    image
  4. 执行步骤
    1、将类加载进内存
    2、将类变量加载进类的内存
    3、将init方法的地址加载进类的内存
    4、将普通方法方法的地址加载进类的内存
    5、实例化对象分配对象内存地址
    6、将实例变量初始化加载进对象内存
  5. self:
    在实例化时自动将对象/实例本身传给__init__的第一个参数,你也可以给他起个别的名字,但是正常人都不会这么做。
    因为你瞎改别人就不认识
    作业
  6. Employee
    • 需求:定义一个员工类Employee
    • 自己分析出几个成员,然后给出成员变量
      • 姓名name,工号id,工资salary
    • 以及一个显示所有成员信息的方法。并测试。
      • work
  7. 定义商品类
    • 需求:定义个商品类 ShopInfo
    • 自己分析出几个成员,然后给出成员变量
      • 商品shop_id, 商品名称 name,当前价格 price(商品价格价格大于0),
    • 在控制台显示所有的商品信息

相关文章

  • 29、类与对象基础

    一、类 1、什么是类 在 python 中所有类型的数据都可以看成对象, 包括我们我们以前学习的所有的内置类型in...

  • Runtime方法总结及部分案例

    案例地址 一、类与对象基础数据结构 1.类与对象基础数据结构 1)Class 2)object_objec与id ...

  • OC重学第一天

    一 . Objective-C基础语法 二. OC 与 C 的对比 三 . 类与对象 1 . 类与对象的区分 2 ...

  • 类与对象(类与对象的基本定义)

    类与对象 类与对象是整个面向对象设计的核心所在,也是所有概念的基础。 类本身属于引用数据类型,所以类的使用会牵扯到...

  • Java基础

    基础概念 对象: 对象是类的实例 类: 类是模板,描述对象的特征与行为 方法: 方法就是行为 数据类型 当使用常量...

  • java基础--类与对象

    类和对象 类是一组具有相同属性和行为的同类事物的描述,是抽象的,概念上的定义。对象是实际存在的该类事物的每个个体,...

  • java基础——类与对象

    类 由class引导的叫做类,格式: public class 类名{ 方法1,2,3 } 类只能是独立的个体,不...

  • Java 学习记录二:OOP入门

    OOP基础 类 class是构造对象的模板或者说蓝图。由类构造的对象称为类的实例(instance)。类封装是与对...

  • Java-类和对象(一)

    一.类和对象的基本概念 类与对象时整个面向对象中最基础的组成单元。 类:是一个模板,它描述一类对象的行为和状态。;...

  • 类与对象

    类与对象是整个面向对象之中最为基础的组成单元;类是共性的集合,对象是个性的产物。所有的类都是用来描述出对象的结构,...

网友评论

    本文标题:29、类与对象基础

    本文链接:https://www.haomeiwen.com/subject/snlrvqtx.html