zoukankan      html  css  js  c++  java
  • 面向对象初识

    面向对象
    面向过程核心:过程(即流水线思维)
    优点:极大的降低了写程序的复杂度,只需要顺着要执行的步骤,堆叠代码即可
    缺点是:一套流水线或者流程就是用来解决一个问题,代码牵一发而动全身
    应用场景:一旦完成基本很少改变的场景,著名的例子有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
  • 相关阅读:
    Coursera机器学习week11 单元测试
    关于 TypeReference 的解释
    getModifiers 方法解释。
    instanceof isInstance isAssignableFrom 比较
    elasticsearch 基础 语法总结
    kibana 启动 关闭 和进程查找
    MD5 SHA1 SHA256 SHA512 SHA1WithRSA 的区别
    spring boot 项目 热启动
    java zip 压缩文件
    Packet for query is too large (1660 > 1024). You can change this value on the server by setting the max_allowed_packet' variable.
  • 原文地址:https://www.cnblogs.com/2018-01-30/p/8510939.html
Copyright © 2011-2022 走看看