函数与面向对象

函数:function   

在英语词典中 function被解释为     名词:作用、功能、子例程、函数     动词: 运行、起作用、具有...的功能

这里不难看出,函数就是一段可以执行的具有一定功能的子例程。

准确的说:在计算机编程中,函数是执行特定任务的一系列程序指令,打包为一个单元。然后,可以在需要执行特定任务的程序中使用该单元,可以在程序内定义,也可以在许多程序可以使用的库中单独定义。

Java has no first-class functions, so function objects are usually expressed by an interface with a single method (most commonly the Callable interface), typically with the implementation being an anonymous inner class, or, starting in Java 8, a lambda.

For an example from Java's standard library, java.util.Collections.sort() takes a List and a functor whose role is to compare objects in the List. Without first-class functions, the function is part of the Comparator interface. This could be used as follows.

List<String> list = Arrays.asList("10", "1", "20", "11", "21", "12");
		
Comparator<String> numStringComparator = new Comparator<String>() {
    public int compare(String str1, String str2) {
        return Integer.valueOf(str1).compareTo(Integer.valueOf(str2));
    }
};

Collections.sort(list, numStringComparator);

In Java 8+, this can be written as:

List<String> list = Arrays.asList("10", "1", "20", "11", "21", "12");
		
Comparator<String> numStringComparator = (str1, str2) -> Integer.valueOf(str1).compareTo(Integer.valueOf(str2));

Collections.sort(list, numStringComparator);

 

面向对象:Object-oriented

这里的面向对象肯定不是你转身面向了你的对象,那你没对象是不是就不能面向对象了呢,让我来告诉你,没对象就创建对象!!作为一个程序员,我们最不缺的就是对象。

那面向对象是什么意思呢?其实,面向中文解释是针对、朝向、对于,对象是类的实例,也就是说是针对类的实例来进行编程。那什么是类的实例呢?实例就是实际的例子、具体的例子,也就是将抽象变具体,比如类中有很多函数,这个函数是一个抽象的概念,你可以通过给与不同的参数得到不同的结果,而实例就是你来定义的一个该函数可能的分支下的例子,这个相对而言是具体的。

提到面向对象第一想法肯定是面向对象程序设计,java就是一门面向对象的程序设计语言。面向对象程序设计中将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性,对象里的程序可以访问及经常修改对象相关连的数据。

在计算机科学中,对象(英语:object),对象指的是类的实例,是一个存储器地址,其中拥有值,这个地址可能有标识符指向此处。对象可以是一个变量,一个数据结构,或是一个函数。是面向对象(Object Oriented)中的术语,既表示客观世界问题空间(Namespace)中的某个具体的事物,又表示软件系统解空间中的基本元素。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值