• 重新梳理Python基础(10)


    1. 今天学了一些概念。(书的第41~43章)

    用这个方法可以分清楚class、object、instance

    ## Animal is-a object (yes, sort of confusing) look at the extra credit
    class Animal(object):
        pass
    
    ## Dog is-a animal, it has-a name
    class Dog(Animal):
    
        def __init__(self, name):
            ## ??
            self.name = name
    
    ## Cat is-a animal, it has-a name
    class Cat(Animal):
    
        def __init__(self, name):
            ## ??
            self.name = name
    
    ## Person is-a object, it has-a name and pet
    class Person(object):
    
        def __init__(self, name):
            ## ??
            self.name = name
    
            ## Person has-a pet of some kind
            self.pet = None
    
    ## Employee is-a Person, it has-a name and salary
    class Employee(Person):
    
        def __init__(self, name, salary):
            ## ?? hmm what is this strange magic?
            super(Employee, self).__init__(name)
            ## ??
            self.salary = salary
    
    ## Fish is-a object
    class Fish(object):
        pass
    
    ## Salmon is-a Fish
    class Salmon(Fish):
        pass
    
    ## Halibut is-a Fish
    class Halibut(Fish):
        pass
    
    
    ## rover is-a Dog
    rover = Dog("Rover")
    
    ## satan is-a Cat
    satan = Cat("Satan")
    
    ## mary is-a Person
    mary = Person("Mary")
    
    ## mary has-a pet, satan
    mary.pet = satan
    
    ## frank is-a employee, it has-a salary 120000
    frank = Employee("Frank", 120000)
    
    ## frank has-a pet, rover
    frank.pet = rover
    
    ## flipper is-a fish
    flipper = Fish()
    
    ## crouse is-a salmon
    crouse = Salmon()
    
    ## harry is-a halibut
    harry = Halibut()

    用这种方式可以比较清楚的明白对象、类和实例的概念。

    2. OOP

    1. Write or draw about the problem.
    2. Extract key concepts from #1 and research them.
    3. Create a class hierarchy and object map for the concepts.
    4. Code the classes and a test to run them.
    5. Repeat and refine.
  • 相关阅读:
    Mootools遮罩层练习(原为网上的jquery写法)
    Notepad++ c编译环境 64
    Apache添加多端口
    数据库权限分配(远程共享数据库)(mysql)
    Zend studio13 导入已有php文件夹
    按钮js跳转到非表单提交页
    Sql case when 小例
    php 获取数组中的key值
    knit使用安装 ecstore knit位置 及调用路径
    python数据库操作
  • 原文地址:https://www.cnblogs.com/dollarzhaole/p/2976451.html
Copyright © 2020-2023  润新知