《java编程思想》对象导论

张张张张张先生      2022-05-08     496

关键词:

1.抽象过程

  所有编程语言都提供抽象机制。可以认为,人们所能够解决的问题的复杂性直接取决于抽象的类型和质量,所谓的‘类型‘是指“所抽象的是什么?”汇编语言是对底层机器的轻微抽象。

  java的基本 特性:

         (1) 万物皆为对象

    (2) 程序是对象的集合,它们通过发送消息来告知彼此所要做的

    (3) 每个对象都有自己的由其他对象所构成的存储

        换句话说,可以通过创建包含现有对象的包的方式来创建新类型的对象

    (4) 每个对象都拥有其类型

    (5) 某一特定类型的所有对象都可以接收同样的消息

2.每个对象都提供服务

  当正在开发试图开发或理解一个程序设计时,最好的办法之一就是将对象想象为"服务提供者",程序本身将向用户提供服务,程序将通过调用其他对象提供的服务来实现这一个目的

3.被隐藏的具体实现(java中的四种访问权限)

  (1) public

     public修饰的元素任何人都可以访问 

  (2) private

     private 修饰的元素只能类的创建者和类的内部方法可以访问

  (3) protected

     protected和 private的作用差不多,区别在于类的继承者能访问protected元素不能访问Private元素

  (4) 默认访问权限

     当没有用任何一种元素修饰时,就是默认访问权限,这种也被称为包级别访问权限,即可以访问同一个包下的元素

4.复用具体实现

  代码复用是面向对象程序设计语言所提供的的最了不起的优点之一

  最简单的复用某个类的方式就是直接使用这个类的一个对象,此外也可以将这个类的一个对象置于其他新的类里面。新的类可以由任意数量、任意类型的其他对象以任意可以实现新的类中想要的功能的方式所组成,因为是在使用现有的类合成新的类,所以这种也被称为"组合",如果组合是动态发生的,那么这种则被称为"聚合",组合经常被称为 "has-a" (拥有)关系,就像常说的汽车拥有引擎一样。

5.继承

  对于继承可能引发某种争论:继承应该只覆盖基类的方法吗?如果这样做,意味着基类和导出类是完全相同的类型。结果可以用一个导出类对象完全替代基类对象,这可以被视为纯粹替代,通常称之为替代原则。在某种意义上这是处理继承的一种理想方式,这种关系经常被理解为 " is -a " 关系。

  有时必须在导出类中添加新的接口元素,这样也就扩展了接口,这个新的类型仍然可以替代基类,但是这种替代并不完美,因为基类无法访问新添加的方法,这种情况我们通常描述为 " is - like- a " 关系。

6.伴随多态的可互换对象

  程序绑定的概念:绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来,对java来说,绑定分为静态绑定(前期绑定)和动态绑定(后期绑定)

  静态绑定:在程序执行前方法已经被绑定(也就是说在编译过程中就已经知道这个方法到底是哪个类的方法),此时由编译器或其他连接程序实现,针对java可以简单的理解为程序编译期的绑定。java中的方法只有 final、static、private和构造方法是前期绑定

  动态绑定:在运行时根据具体对象的类型进行绑定。若一种语言实现了动态绑定,同时必须提供一些机制,可以在运行期间判断对象的类型,并分别调用适当的方法。也就是说编译器此时依然不知道对象的类型,但方法调用机制能自己去调查,找到正确的方法主体,不同的语言对对后期绑定的实现方法是有所区别的

  动态绑定的过程:

    1、虚拟机提取对象的实际类型的方法表

    2、虚拟机搜索方法签名

    3、调用方法

7.单根继承结构

  在java中(事实上是包括除了C++以外的所有OOP语言),所有的类最终都集成自单一的基类。这个类的名字就是Object。

java编程思想学习笔记——第一章对象导论

...身,发现java基础这块还是相当的薄弱!故决定学习《Java编程思想》这本书。在此把学习的知识点记录下!面向对象的五大特性  1.万物皆为对象    2.程序是对象的集合,它们通过发送消息来告诉彼此所要做... 查看详情

java编程思想学习笔记——第一章对象导论

...身,发现java基础这块还是相当的薄弱!故决定学习《Java编程思想》这本书。在此把学习的知识点记录下!面向对象的五大特性  1.万物皆为对象    2.程序是对象的集合,它们通过发送消息来告诉彼此所要做... 查看详情

java编程思想学习笔记——第一章对象导论

...身,发现java基础这块还是相当的薄弱!故决定学习《Java编程思想》这本书。在此把学习的知识点记录下!面向对象的五大特性  1.万物皆为对象    2.程序是对象的集合,它们通过发送消息来告诉彼此所要做... 查看详情

java编程思想:1对象导论

 常见的高级语言有两大类:面向对象跟面向过程,面向过程的话,典型的就是c,它是一种结构化语言,简单的说,就是解决一个问题,是分成几个有先后关系的步骤,连贯起来就可以解决。举个例子,把大象放进冰箱的程... 查看详情

java编程思想第一章对象导论

对象导论阅读理解:  1、解决问题的复杂性直接取决于抽象的类型和质量(抽象类型及抽象的是什么?)。  汇编语言是对底层机器的轻微抽象,而C、Basic等指令式语言都是对汇编语言的抽象,它们所做的主要抽象仍要求... 查看详情

java编程思想

文章目录java编程思想第一章对象导论面向对象语言OOP的五个特征每个对象都有一个接口每个对象都是提供服务的继承策略设计模式工厂方法设计模式泛型的引入并发,并行,多线程,关于共享资源的线程安全问题客户/服务器技... 查看详情

java编程思想-目录

....9.1参数化类型  1.10对象的创建和生命周期  1.12并发编程  1. 查看详情

[读书笔记]java编程思想(代码片段)

目录第1章对象导论第2章一切都是对象第3章操作符第4章控制执行流程第5章初始化与清理第6章访问权限控制第7章复用类第8章多态第9章接口第10章内部类第11章持有对象第12章通过异常处理错误第13章字符串第14章类型信息第15章泛... 查看详情

java编程思想

文章目录java编程思想第一章对象导论面向对象语言OOP的五个特征每个对象都有一个接口每个对象都是提供服务的继承策略设计模式工厂方法设计模式泛型的引入并发,并行,多线程,关于共享资源的线程安全问题客户/服务器技... 查看详情

java编程思想thinkinginjava

Java编程思想【Thinkinginjava】目录:第1章对象导论1.1抽象过程1.2每个对象都有一个接口1.3每个对象都提供服务1.4被隐藏的具体实现1.5复用具体实现1.6继承1.6.1“是一个”(is-a)与“像是一个”(is-like-a)关系1.7伴随多... 查看详情

java基础之java编程思想(1-5)

一、对象导论1:多态的可互换对象  面向对象程序设计语言使用了后期绑定的概念。  当向对象发送消息时,被调用的代码直到运行时才能确定。也叫动态绑定。2:单根继承结构  所有的类最终都继承自单一的基类,这... 查看详情

java编程思想温故知新

第一章:对象导论1.抽象过程(类与对象的关系)  类是一类对象的共同行为(成员函数)与状态(成员变量),对象是具体类的实例化。(Eg.人类是一个类,共同的行为:吃,状态:名字。)  【类创建者需要考虑这件事... 查看详情

第1章对象导论

(看看我的笔记就知道了,《Java编程思想》这本书的逻辑有多糟糕,尤其是第一章,我很怀疑作者的语文水平,虽然我的语文好像也不好)    ·元素属性,关系+协议     ·计算机起源于机器,因而... 查看详情

大家一起和snailren学java-对象导论

...等,也可以加速,减速。这在OOP中就是属性和方法。通过编程,将一个个的对象联系起来,通过方法来相互之间传递消息,这样就构成了一套程序。  每个对象,都有自己的类型,比如说宝马 查看详情

关于java面向对象编程和面向接口编程区别

向大家问下关于java面向对象编程和面向接口编程思想区别,面向对象就是模拟真实世界,把真实事物抽象成类,操作实例..而面向接口编程了,好处...?主要的思想...?怎样去用面向接口的思维去开发一个程序...?Struggle说得对。... 查看详情

java面向对象编程思想

1、面向对象编程是什么  面向对象编程(ObjectOrientedProgramming,故常称OOP)并非Java独有,而是一种编程的思想,Java、C++、Python均有对其实现。其本质是以建立模型体现出来的抽象思维过程和面向对象的方法。模型是用来反映... 查看详情

java面向对象编程思想

丶冯小小 Java面向对象编程思想 面向对象三个特征:封装、继承、多态封装:   语法:属性私有化(private)、提供相对应的get/set的方法进行访问(public)、         在set/get的方法... 查看详情

java-面向对象思想进行jdbc编程

mysql-connector-java-5.1.7-bin.jarjdbc.propertiesdriver=com.mysql.jdbc.DriverjdbcUrl=jdbc:mysql://localhost:3306/lessonuser=rootpassword=JDBCTools.javapackage面向对象思想进行JDBC编程;importjava.io.IOExceptio 查看详情