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






  • 相关阅读:
    nginx虚拟主机解决企业内外网访问
    oarcle mysql 字段的区别和互换
    大话“扁平化设计”
    使用OGR创建弧形图形
    socket连接和http连接的区别
    nginx tomcat 配置集群负载
    GDAL工具使用示例(一)
    无法解析或打开软件包的列表或是状态文件 解决方案
    程序员们必看,不要让光环效应毁了你辛辛苦苦做的软件
    [spring]Bean注入——在XML中配置
  • 原文地址:https://www.cnblogs.com/loved/p/8668088.html
Copyright © 2011-2022 走看看