zoukankan      html  css  js  c++  java
  • 什么是面向对象,以及如何定义对象,实例化对象


    什么是对象:
    对象就是特征与技能的结合体,(孙悟空有特征,有技能,可以看做一个对象)
    什么是面向对象:
    面向对象,核心是对象二字,自己是上帝,以上帝思维方式来解决问题,上帝造物现有一个模板,根据模板早出不同的对象
    优点 :相比面向过程可扩展性强.
    缺点:编程复杂度高,容易出现过度设计问题
    应用场景;需求比较高的程序,游戏,企业应用
    什么是类:
    类的定义:一系列对象相似的特征与技能结合体
    强调:站在不同角度,分类不同

    现实世界:先有对象,后有类
    在程序:一定是先有类,后调用类来产生对象.

    站在路飞角度,大家都是学生
    观察现实世界中3个人类,总结特征和技能,总结一系列共有的技能特征
    对象1:王二丫
    特征:
    学校:路飞学校
    年龄:18
    性别:女
    技能:
    吃饭
    睡觉
    学习
    对象2:三炮
    特征:
    学校:路飞学校
    年龄:38
    性别:男
    技能:
    吃饭
    睡觉
    学习
    对象3:铁蛋
    特征:
    学校:路飞学校
    年龄:28
    性别:男
    技能:
    吃饭
    睡觉
    学习
    总结现实中相似特征:
    学校:路飞学校
    相似技能:
    吃饭
    睡觉
    学习
     1 class luffystudty:#class +类名+冒号定义类开头
     2         school="luffycity"  #相似数据属性,特征。
     3 def learn(self):#相似技能
     4     print("learn")
     5 def eat(self):#相似技能
     6     print("eat")
     7 def sleep(self):#相似技能
     8     print("sleep")
     9 
    10 
    11 # 后产出对象
    12 stu1=luffystudty()  #实例化.产生一个对象.调用一次,实例化一次,
    13 stu2=luffystudty()
    14 stu3=luffystudty()
    15 
    16 print(stu1)
    17 print(stu2)
    18 print(stu3)

    打印的结果是3个不同的对象object,都是由类luffystudty产生,并且有不同的内存地址

    <__main__.luffystudty object at 0x00000174BEDCF908>
    <__main__.luffystudty object at 0x00000174BEDCF940>
    <__main__.luffystudty object at 0x00000174BEDCF978>

    
    
  • 相关阅读:
    Linux常用命令1
    Linux常用命令
    java的接口和抽象类区别
    字符串的全排列
    字符串的全组合
    Mysql范式
    同步 异步 阻塞 非阻塞概念区分
    死锁产生的条件以及解决方法
    Mysql存储引擎MyIsAM和InnoDB区别
    SLES documentation
  • 原文地址:https://www.cnblogs.com/xh716/p/10527292.html
Copyright © 2011-2022 走看看