For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
java编程开发随着互联网的不断发展而被越来越多的程序员掌握,今天我们就通过案例分析来简单了解一下,java编程入门基础知识分享。
1、什么是设计模式
设计模式(Designpattern):由软件开发人员在软件开发中面临常见问题的解决方案,是经过长时间的试验积累总结出来的,它使设计更加灵活和优雅,复用性更好。从实用的角度来看,它代表了某一类问题的佳实践。
设计模式到底解决了开发过程中的哪些难题呢,它又是如何来解决的呢?
其核心是:复用和解耦。使不稳定依赖于稳定、具体依赖于抽象,以此增强软件设计适应变化的能力。
2、什么是编程范式
要探讨设计模式和编程语言的关系,还得从编程范式谈起。编程范式是程序员看待程序的观点,代表了程序设计者认为程序应该如何被构建和执行的看法,与软件建模方式和架构风格有紧密关系。
这几种编程范式之间的关系如下:
1.起初是非结构化编程,指令(goto指令)可以随便跳转,数据可以随便引用。后来有了结构化编程,人们把goto语句去掉了,约束了指令的方向性,过程之间是单向的,但数据却是可以全局访问的;
2.后来面向对象编程的时候,人们干脆将数据与其紧密耦合的方法放在一个逻辑边界内,约束了数据的作用域,靠关系来查找;
3.到函数式编程的时候,人们约束了数据的可变性,通过一系列函数的组合来描述数据,从源到目标映射规则的编排,中间它是无状态的;
编程范式是抽象的,编程语言是具体的。编程范式是编程语言背后的思想,要通过编程语言来体现。C语言的主流编程范式是结构化编程,而Java语言的主流编程范式是面向对象编程,后来Java8开始支持Lambda表达式,将函数式编程范式的内容融合进来,同时新诞生的语言一开始就支持多范式,比如Scala,Go和Rust等。
从结构化编程到面向对象编程,再到函数式编程,抽象程度越来越高(离图灵机模型越来越远),与领域问题的距离越来越近。直观的来讲,就是解决现实问题的效率提升了,灵活性和执行效率随之有所下降。
设计模式无论用什么语言实现都是可以的,然而由于语言的各自差异化特点,不是每种语言都完美或统一实现各种设计模式。比如Java里面有策略模式,那是因为Java8之前不支持方法传递,不能把一个方法当作参数传给别人,所以有了策略模式。而JavaScript等语言可以直接传函数,就根本没必要造一个策略模式出来。
3、什么是多态特性
面向对象编程语言有三大特性:封装、继承和多态。
1.封装即信息隐藏或数据保护,“数据结构"通过暴露有限的访问接口,授权外部仅能通过"数据结构"提供的方法(函数)来访问其内部的数据;
2.继承的好处是可以实现代码复用,但不应过度使用,如果继承的层次过深就会导致代码可读性和可维护性变差。因此建议少用继承而多用组合模式;
3.多态可以分为变量的多态,方法的多态,类的多态。通常强调的是类的多态,多态的实现是指子类可以替换父类,在实际代码运行过程中调用子类的方法实现;
多态可以说是面向对象中重要的一个特性,是解决项目中紧偶合的问题,提高代码的可扩展性和可复用性的核心,是很多设计模式、设计原则、编程技巧的代码实现基础。
多态比较直观的理解就是去完成某个动作,当不同的对象去完成时会产生出不同的状态,其作用范围可以是方法的参数和方法的返回类型。
多态这种特性也需要编程语言提供特殊的语法机制来实现,Java中多态可以通过"子类继承父类+子类重写父类方法+父类引用指向子类对象"的方式实现,还可以通过"接口语法"的方式实现。C++中则使用virtual(虚函数)关键字来实现。像一些动态语言如Python也可以通过duck-typing的语法实现,另外Go语言中的"隐藏式接口"也算是duck-typing。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加抖音太原达内IT培训学习了解。