函数签名

函数签名:是一个函数的函数名、参数列表、返回类型的统称
函数名 :
代表函数的功能
Add → 相加
IsOdd → 判断是不是奇数
IsPrime → 判断是不是质数
参数列表:
函数为了完成它的功能,需要额外信息
如果不需要额外信息,则参数列表为空
返回类型:
函数完成功能后,产生的结果类型
如果不需要产生结果,则返回了新为void
函数签名示例:
//从指定的链接地址下载文件,保存到指定路径
函数签名示例:
//根据提供的年和月,得到这个月的天数
函数签名示例:
//将提供的字符串,颠倒顺序后得到颠倒后的字符串
函数调用者的视角
对于函数调用者,仅需要知道函数签名即可
示例:

示例:
示例
函数实现者的视角
对于函数调用者,仅需要知道函数签名即可
函数签名,是函数体要实现的目标
子主题 1
学习函数的关键,就是在与编写正确的函数签名
函数签名
1、根据它实现函数调用
2、根据它实现函数体
编写正确的函数签名
仔细阅读需求,理解需求的含义
为函数去一个贴合需求含义的函数名
仔细考虑,该函数是否需要参数,需要哪些参数
仔细考虑,该函数是否需要返回类型
根据用户的账号,判断该用户是否已注册
函数名; IsRegisted
参数: account (string 类型)
返回类型: bool
函数签名 → static bool IsRegisted(string account)
要得到某一天是星期几

函数名: GetDayOfWeek
参数: year 、 month 、 day (全部为int类型)
返回类型: int
函数签名:→ static int GetDayOfWeek(int year, int month, int day)
完整的阐述了函数的功能
函数名 :
代表函数的功能
Add → 相加
IsOdd → 判断是不是奇数
IsPrime → 判断是不是质数
参数列表:
函数为了完成它的功能,需要额外信息
如果不需要额外信息,则参数列表为空
返回类型:
函数完成功能后,产生的结果类型
如果不需要产生结果,则返回了新为void
函数签名示例:
//从指定的链接地址下载文件,保存到指定路径
函数签名示例:
//根据提供的年和月,得到这个月的天数
函数签名示例:
//将提供的字符串,颠倒顺序后得到颠倒后的字符串
函数调用者的视角
对于函数调用者,仅需要知道函数签名即可
示例:

示例:
示例
函数实现者的视角
对于函数调用者,仅需要知道函数签名即可
函数签名,是函数体要实现的目标
子主题 1
学习函数的关键,就是在与编写正确的函数签名
函数签名
1、根据它实现函数调用
2、根据它实现函数体
编写正确的函数签名
仔细阅读需求,理解需求的含义
为函数去一个贴合需求含义的函数名
仔细考虑,该函数是否需要参数,需要哪些参数
仔细考虑,该函数是否需要返回类型
根据用户的账号,判断该用户是否已注册
函数名; IsRegisted
参数: account (string 类型)
返回类型: bool
函数签名 → static bool IsRegisted(string account)
要得到某一天是星期几

函数名: GetDayOfWeek
参数: year 、 month 、 day (全部为int类型)
返回类型: int
函数签名:→ static int GetDayOfWeek(int year, int month, int day)
总结:
函数签名,是函数名、参数列表、返回类型的统称
函数签名能够完整的阐述函数功能
无论是调用函数还是实现函数,仅需要知道函数签名即可
在编写函数时,必须保证函数签名与需求相符

时间: 2024-11-10 13:35:01

函数签名的相关文章

Android开发实践:JNI函数签名生成器

"函数签名"在Android NDK开发中很常见,由于Java支持重载,仅靠函数名无法唯一确定一个方法.因此,JNI提供了一套签名规则,用一个字符串来唯一确定一个Java端定义的Native方法. 具体每一种Java数据类型对应的签名字符串如下所示(来自Oracle官网JNI的介绍):     原理其实并不复杂,每种基本类型对应一个单字符签名,而类则对应为"L"+类的全路径+";",数组类型则对应"["+元素类型的签名,函数的

规范函数签名的必要性

函数签名即一个函数的函数名.参数列表.返回类型的统称:函数名一般表示该函数的功能,参数列表可看成是该函数完成它的功能所需要的额外条件,返回类型是指该函数完成其功能时,产生的结果的类型.在编码中,函数的调用者知道函数签名即可知道该函数的功能以及该函数所需要的参数列表和是否存在返回结果及返回结果的类型. 对于函数调用者而言,仅需要知道函数签名即可了解该函数的功能:对于函数开发者而言仅需要知道函数签名即可知道需要实现什么功能以及实现该功能的必要条件. 如何正确的函数签名: ①仔细阅读需求,理解需求的含

函数签名和重载

函数签名:函数的名称及其参数类型组合在一起,就定义了一个唯一的特性,称为函数签名.(不包括返回类型) 在编写包含函数调用的语句时,编译器就会使用该调用创建一个函数签名.再把它与函数原型/或定义中可用的函数签名集比较.如果找到匹配的函数名,就建立所调用的函数. 重载:多个相同函数名,不容的参数个数或者类型的形式叫做函数的重载. attention:重载和引用参数 #include <iostream>double larger(double a,double b);long& large

[工作积累] JNI native 函数签名

对于一个Java 类 class MyClass { ... public boolean nativeMyFunc(long param); } 一般来说native对应的声明是这样: JNIEXPORT jboolean JNICALL Java_com_organisation_MyClass_nativeMyFunc(JNIEnv *env, jobject thiz, jlong param); 然后最近遇到个 class My_Class { ... public boolean n

意义模糊的函数签名……文档注释

//截取并得到某个字符串的一部分 //参数str:待截取的字符串 //参数startIndex:开始截取的位置,最小值为0 //参数length:截取的长度 //返回值:截取后的新字符串 static string GetSubstring(string str,int startIndex,int length) 文档注释,通常写到函数体外,用于描述函数体外的代码 在函数体外///就能弹出一段代码书写注释

loose coupling之函数签名

当函数的参数有多个时(比如多于4个),可以考虑将这些参数组织放入一个class(struct),然后函数参数就减少为一个. 1.以class instance来穿参数,可以很容易在各个函数之间传递参数,能减少代码量. 2.如果增加或减少参数,只要修改class的定义即可,函数signature不会影响. -1.如果移植函数级别的代码,会依赖class的定义,这就是函数与class的tight coupling. -2.如果函数的signature都是primitive type(int,bool

小程序开发-11-Promise正确用法与函数签名设计技巧

配置taBar "tabBar": { "selectedColor": "#000000", "backgroundColor": "#ffffff", "color": "#c7c7c7", "list": [ { "selectedIconPath": "/images/tab/classic@highlight

一切皆对象之两个方法概括js,无函数签名(无多态),原型,闭包,封装,引用类型,继承……

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript"> var num = [88, 1151, 1]; (function() { /** * 对于n1,n2,n3:如果其中任意两个

JavaScript的进阶之路(二)函数简介,变量、作用域和内存问题

<h3>ECMAScript中函数不存在函数签名的概念,没有重载</h3><h3>无需指定返回值,可以在任何时候返回任何值.未指定返回值的函数,返回的是一个特殊的undefined值</h3> <script type="text/javascript"> function sayHi(){ console.log("Hi"); }; sayHi(); function sayName(name,age){