• 面向对象初识


    面向对象
    面向过程核心:过程(即流水线思维)
    优点:极大的降低了写程序的复杂度,只需要顺着要执行的步骤,堆叠代码即可
    缺点是:一套流水线或者流程就是用来解决一个问题,代码牵一发而动全身
    应用场景:一旦完成基本很少改变的场景,著名的例子有Linux內核,git,以及Apache HTTP Server等
    核心:对象(上帝思维)
    优缺点
    优:可扩展性好,易于理解代码逻辑
    缺:可控性差
    使用场景:需求经常变化的软件
    用户层
    互联网应用
    企业内部应用软件
    游戏
    名词

    具有相同特征的一类事物
    对象/实例
    实例
    实例化
    类——>对象的过程
    类的相关知识
    作用:
    属性引用
    类名.属性
    实例化
    对象名= 类名(参数)
    对象
    查看属性:对象.属性名
    调用方法:对象.方法名()
    关于self:在实例化时自动将对象/实例本身传给__init__的第一个参数,你也可以给他起个别的名字,但是正常人都不会这么做
    查看类属性:
    1、dir(类名)
    结果是一个字典
    类名.__dict__
    对象的相关知识
    对象是关于类而实际存在的一个例子
    对象/实例只有一种作用:属性引用
    对象之间的交互

    class Person:  # 定义一个人类
        role = 'person'  # 人的角色属性都是人
    
        def __init__(self, name, aggressivity, life_value):
            self.name = name  # 每一个角色都有自己的昵称;
            self.aggressivity = aggressivity  # 每一个角色都有自己的攻击力;
            self.life_value = life_value  # 每一个角色都有自己的生命值;
    
        def attack(self,dog):  
            # 人可以攻击狗,这里的狗也是一个对象。
            # 人攻击狗,那么狗的生命值就会根据人的攻击力而下降
            dog.life_value -= self.aggressivit
    class Dog:  # 定义一个狗类
        role = 'dog'  # 狗的角色属性都是狗
    
        def __init__(self, name, breed, aggressivity, life_value):
            self.name = name  # 每一只狗都有自己的昵称;
            self.breed = breed  # 每一只狗都有自己的品种;
            self.aggressivity = aggressivity  # 每一只狗都有自己的攻击力;
            self.life_value = life_value  # 每一只狗都有自己的生命值;
    
        def bite(self,people):
            # 狗可以咬人,这里的狗也是一个对象。
            # 狗咬人,那么人的生命值就会根据狗的攻击力而下降
         dog.life_value -= self.aggressivit
  • 相关阅读:
    英特尔“硬盘内存一体化”首款产品正式发布,读写速度超千倍,存储密度扩充十倍
    程序员,你为什么值这么多钱?
    不懂程序看的明白《黑客帝国》吗?
    程序员的工作、学习与绩效
    架构设计师能力模型
    .net平台的MongoDB使用
    转载-30分钟搞定后台登录界面(103个后台PSD源文件、素材网站)
    XAF-DevExpress.ExpressApp.DC.Xpo.XpoTypeInfoSource 生成实体的过程-学习笔记
    谈谈敏捷开发
    XAF-由于try catch导致的性能问题一例
  • 原文地址:https://www.cnblogs.com/2018-01-30/p/8510939.html
Copyright © 2020-2023  润新知