zoukankan      html  css  js  c++  java
  • 类 Class 对象、定义、方法

    面向对象的定义

    类 Class: 用来描述具体相同的属性和方法的对象的集合。定义了该集合中每个对象所共有的属性和方法。对象是类的示例。

    类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。

    数据成员:类变量或者实例变量用于处理类及其实例对象的相关数据。

    方法重写:如果从父类继承的方法不能满足子类的需求,可以对其 进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。

    实例变量:定义在方法中的变量,只作用于当前实例的类。

    继承:即一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。例如,有这样一个设计:一个Dog类型的对象派生自Animal类,这是模拟”是一个(is-a)”关系(例图,Dog是一个Animal)。

    实例化:创建一个类的实例,类的具体对象。就是将创建的类赋值给另一个变量。理解为赋值即可,a = class(),这个过程,就叫做实例化

    方法:类中定义的函数。

    对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。

    定义

    语法格式

    class ClassName:
        '''Description'''
        <statement-1>
        .
        .
        .
        <statement-N>

    类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性

    类的方法

    在类内部,使用 def 关键字来定义一个方法,与一般函数定义不同,类方法必须包含参数 self, 且为第一个参数,self 代表的是类的实例。

    class people:
        #定义基本属性
        name = ''
        age = 0
        #定义私有属性,私有属性在类外部无法直接进行访问
        __weight = 0
        #定义构造方法
        def __init__(self,n,a,w):
            self.name = n
            self.age = a
            self.__weight = w
        def speak(self):
            print("%s 说: 我 %d 岁。" %(self.name,self.age))
    
    # 实例化类
    p = people('runoob',10,30)
    p.speak()

    类对象

    类对象支持两种操作,属性引用实例化。 
    类对象创建后,类命名空间中所有的命名(变量、函数)都是有效属性名。

    class devops():
        # 定义一个简单的类
        ops = ['Citizen_Wang', 'Bob_Zhou']
        dev = ['Jerry_Xue', 'Bagwell_Yan']
        def hello(self):
            print('Hello world')
    
    # 实例化 类
    a = devops()
    
    # 访问类的属性 ops,dev
    print(a.ops)
    print(a.dev)
    
    # 访问类的方法 hello 函数
    a.hello()

    输出结果:

    ['Citizen_Wang', 'Bob_Zhou']
    ['Jerry_Xue', 'Bagwell_Yan']
    Hello world

    实例化之后,支持对属性进行修改 =大师兄python

    class devops():
        # 定义一个简单的类
        ops = ['Citizen_Wang', 'Bob_Zhou']
        dev = ['Jerry_Xue', 'Bagwell_Yan']
        def hello(self):
            print('Hello world')
    
    # 实例化 类
    a = devops()
    
    # 访问类的属性 ops,dev
    print(a.ops)
    a.ops = 'No one has left'
    print(a.ops)





    转自:https://blog.csdn.net/cityzenoldwang/article/details/78359348






  • 相关阅读:
    【面积并】 Atlantis
    【动态前k大 贪心】 Gone Fishing
    【复杂枚举】 library
    【双端队列bfs 网格图建图】拯救大兵瑞恩
    【奇偶传递关系 边带权】 奇偶游戏
    【权值并查集】 supermarket
    CF w4d3 A. Pythagorean Theorem II
    CF w4d2 C. Purification
    CF w4d2 B. Road Construction
    CF w4d2 A. Cakeminator
  • 原文地址:https://www.cnblogs.com/loved/p/8668088.html
Copyright © 2011-2022 走看看