zoukankan      html  css  js  c++  java
  • Python 类

    """
    现实中还有一些不同角色既有共性, 又有区别. 通过面向对象来解决复杂的关系描述:
    1. 共性抽出来写一个类
    2. 个性抽出来作为子类中特有的变量或方法
    """

    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    # 创建类并实例化
    """
    方法1: 新建类, 并实例化, 可直接调用类中的方法返回结果.
    弊端: 没有参数, 创建多个对象时分不清哪个是哪个.
    """
    class Dog(object):
        def sayhi(self):
            print("hello, i am a dog.")
    
    
    d = Dog()  # 实例化, 创建对象
    d.sayhi()  # 调用功能
    
    d2 = Dog()
    d2.sayhi()
    
    
    """
    方法2: 传参name
    弊端: 类中有多个函数时, 函数之间不能互相调用其局部变量.
    """
    class Dog(object):
        def __init__(self, name):  # 创建实例化时传参name, 给不同的对象传不同的名字
            self.NAME = name
    
        def sayhi(self):
            print("hello, i am a dog", name)  # sayhi()调不到__init__里的参数name
    
    
    d = Dog("张三")  # 实例化, 创建对象
    d.sayhi()  # 调用功能
    
    d2 = Dog("李四")
    d2.sayhi()
    
    
    """
    方法3: 调用时调用self.xx
    """
    class Dog(object):
        def __init__(self, name):  # 构造方法(构造函数只能是__init__()). 创建实例化时传参name, 给不同的对象传不同的名字
            self.NAME = name  # 相当于d.NAME = name
    
        def sayhi(self):  # 类的方法
            print("hello, i am a dog", self.NAME)  # sayhi()调到了__init__里的参数name
    
    
    d = Dog("张三")  # 相当于Dog(d, "张三"), 这个d就传给了self.
    d.sayhi()  # 调用功能
    
    d2 = Dog("李四")  # 实例化后产生的对象叫实例.
    d2.sayhi()  # 相当于d.sayhi(d). 所以其它函数调用self.NAME不会出错.
    类的实例化及构造方法

     

  • 相关阅读:
    HTML th nowrap 属性
    C 语言实例 – 判断闰年
    Java MySQL 连接
    Linux shapecfg命令
    C 简介
    Java 之 HashSet 集合
    Java 之 Set 接口
    Java 之 LinkedList 集合
    Java 之 List 接口
    JavaScript 之 事件(详解)
  • 原文地址:https://www.cnblogs.com/cheese320/p/9153816.html
Copyright © 2011-2022 走看看