42th 逻辑的连续性 取决于 细节的理解-------------我是个厨子:类的调用vs 对象调用方法

类的调用vs 对象调用方法

class Cook5:
    ‘‘‘这是一个厨师的类‘‘‘
   
    # 类是一系列对象相同的特征与技能的结合体
   
    # 用变量表示特征(属性)
    name = ‘张三‘
    age  = ‘27‘
   
    # 用函数表示技能(方法)       
    def qie():
        print(‘技能:切菜‘)
   
    def chao():
        print(‘技能:炒菜‘)

小结:  ----类中定义的函数  必须有一个参数  接收  实例对象----
#1.只有对象调方法的时候  鉴于 绑定方法 有个自动传参的过程  
#            ex5,3,4
#即   方法f(self,a,b)
#         print("我爱冰晶")
#     ex5.cook(3,4)
#     调用的方法过程  其实是  f(ex5,3,4)
#                             print("我爱冰晶")
#这里因为绑定方法,可以在赋值的时候少写一个参数的赋值,因为 self自动接收对象了

#2.用类 调用,调出来的是个  函数f()-----------------传参要  参数和 赋值一一对应.

#举例:Cook5.qie   #   注意  区分大小写 ,返回:你调用的是一个函数。  所以如果  被调用的函数(方法)有参数,你在调用的是由要赋值。
#情况1    def  qie() 
#      调用cook.qie()     返回:这是个函数。
#情况2    def qie(self)   注意:这里self就是个参数名字
#      调用cook.qie()     返回:这是个函数。  报错
#      调用cook.qie(1)    返回:这是个函数。
#      技能=切菜             返回:把1赋值给self   f(1)=print("技能=切菜")

#3.除了  对象调用方法外,  赋值,传参的过程 注意要 一一对应。

原文地址:https://www.cnblogs.com/erdou/p/11665562.html

时间: 2024-10-29 22:08:30

42th 逻辑的连续性 取决于 细节的理解-------------我是个厨子:类的调用vs 对象调用方法的相关文章

计算机程序的思维逻辑 (37) - 泛型 (下) - 细节和局限性

35节介绍了泛型的基本概念和原理,上节介绍了泛型中的通配符,本节来介绍泛型中的一些细节和局限性. 这些局限性主要与Java的实现机制有关,Java中,泛型是通过类型擦除来实现的,类型参数在编译时会被替换为Object,运行时Java虚拟机不知道泛型这回事,这带来了很多局限性,其中有的部分是比较容易理解的,有的则是非常违反直觉的. 一项技术,往往只有理解了其局限性,我们才算是真正理解了它,才能更好的应用它. 下面,我们将从以下几个方面来介绍这些细节和局限性: 使用泛型类.方法和接口 定义泛型类.方

计算机程序的思维逻辑 (16) - 继承的细节【转】

上节我们介绍了继承和多态的基本概念,基本概念是比较简单的,子类继承父类,自动拥有父类的属性和行为,并可扩展属性和行为,同时,可重写父类的方法以修改行为. 但继承和多态概念还有一些相关的细节,本节就来探讨这些细节,具体包括: 构造方法 重名与静态绑定 重载和重写 父子类型转换 继承访问权限 (protected) 可见性重写 防止继承 (final) 下面我们逐个来解释. 构造方法 super 上节我们说过,子类可以通过super(...)调用父类的构造方法,如果子类没有通过super(...)调

计算机程序的思维逻辑 (16) - 继承的细节

上节我们介绍了继承和多态的基本概念,基本概念是比较简单的,子类继承父类,自动拥有父类的属性和行为,并可扩展属性和行为,同时,可重写父类的方法以修改行为. 但继承和多态概念还有一些相关的细节,本节就来探讨这些细节,具体包括: 构造方法 重名与静态绑定 重载和重写 父子类型转换 继承访问权限 (protected) 可见性重写 防止继承 (final) 下面我们逐个来解释. 构造方法 super 上节我们说过,子类可以通过super(...)调用父类的构造方法,如果子类没有通过super(...)调

深入理解Java虚拟机(类文件结构+类加载机制+字节码执行引擎)

周志明的<深入理解Java虚拟机>很好很强大,阅读起来颇有点费劲,尤其是当你跟随作者的思路一直探究下去,开始会让你弄不清方向,难免有些你说的啥子的感觉.但知识不得不学,于是天天看,反复看,就慢慢的理解了.我其实不想说这种硬磨的方法有多好,我甚至不推荐,我建议大家阅读这本书时,由浅入深,有舍有得,先从宏观去理解去阅读,再慢慢深入,有条不紊的看下去.具体来说,当你看书的某一部分时,先看这部分的章节名,了解这部分这一章在讲什么,然后再看某一章,我拿"类文件结构"这一章来说,我必须

深入理解Java虚拟机(类文件结构)

深入理解Java虚拟机(类文件结构) 欢迎关注微信公众号:BaronTalk,获取更多精彩好文! 之前在阅读 ASM 文档时,对于已编译类的结构.方法描述符.访问标志.ACC_PUBLIC.ACC_PRIVATE.各种字节码指令等等许多概念听起来都是云山雾罩.一知半解,原因就在于对类文件结构和类加载机制不够了解.直到后来细读了<深入理解 Java 虚拟机>中虚拟机执行子系统的相关内容,才建立了清晰的认知.如果你也和我一样,不了解类结构和类加载,但是工作中又涉及到字节码相关内容,相信后面两篇文章

对于jq里的Event对象的方法一些理解

这些是我从jq手册的Event对象一篇里获取的理解 event.currentTarget  在事件冒泡阶段中的当前DOM元素 例子: $("p").click(function(event) { alert( event.currentTarget === this ); // true }); 概述:相当于this(DOM的) event.data 当前执行的处理器被绑定的时候,包含可选的数据传递给jQuery.fn.bind. 例子: $("a").each(

1,对象的存储细节,2,#pragma mark指令,3,函数和对象方法的区别,4,对象和方法之间的关系 ,5.课堂习题

1,对象的存储细节, 1. 当创建一个对象的时候:Person *p1 = [Person new],做了三件事情: 1,申请堆内存空间: 2,给实例变量初始化: 3,返回所申请空间的首地址; 2. 实例变量保存在堆区 3. 对象方法保存在代码区 4. 一个类可以创建多个对象: 2,#pragma mark指令, 功能:对代码分组,方便代码查找和导航 使用格式: #pragma mark - #waring 等待处理的功能,或者是未完成的功能 3,函数和对象方法的区别, 一. 对象方法: -(v

深入理解java虚拟机(二)HotSpot Java对象创建,内存布局以及访问方式

内存中对象的创建.对象的结构以及访问方式. 一.对象的创建 在语言层面上,对象的创建只不过是一个new关键字而已,那么在虚拟机中又是一个怎样的过程呢? (一)判断类是否加载.虚拟机遇到一条new指令的时候,首先会检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号代表的类是否被加载.解析并初始化.如果没有完成这个过程,则必须执行相应类的加载. (二)在堆上为对象分配空间.对象需要的空间大小在类加载完成后便能确定.之后便是在堆上为该对象分配固定大小的空间.分配的方式也有两种:

彻底理解浮动float CSS浮动详解 清除浮动的方法

我们把网页的常用的布局格式分为以下三种: 1.标准流. 所谓的标准流就是,行内元素自己单独一行,而块级元素是上下显示的. 以前我们学习的都是标准流.   注意:标准流使我们网页布局中最稳定的一种结构 2. 浮动流 使我们学习的脱离标准流的第一种方式.会影响我们标准流的排列.所以,我们布局的时候,能用标准流做的,就不用浮动做. 3. 定位流 定位流也是脱离标准流的一种模式.它完全脱离标准流,不会对标准流有影响. 浮动(float) 我们要浮动的目的: 我们浮动的目的,就是可以把多个块级元素放到想要