【Java】Java学习笔记之一 ----面向对象(Object-Oriented)

为什么要用面向对象技术?

面向对象方法是一种系统化软件开发方法,而采用系统化的开发方法开发软件系统才可获得好的系统。一个好的系统应具有以下特性:
对于使用者:易学易用、界面友好、正确使用时能快速给出正确结果、效率高、安全可靠;
对于开发者:易于修改和扩充、易于理解、易于测试和重用、易于与其他系统兼容和管理;


面向对象技术的名词概念:

对象

对象是基本的运行时的实体。世间万物皆对象,如可见的:人、车、键盘等,如不可见的:可以抽象为概念的一个抽象概念。
对象由对象名、属性(用于描述对象的数据)和行为(即方法,用于描述对象能够做什么事情)组成。
如电视机为对象,由颜色、音量、频道等属性,有切换频道、增大音量等行为。

一个类定义了一组相似的对象,类的属性和方法统称为类成员。该类所包含的方法和数据为这组对象的共同行为和属性。类是对象的原型,里面没有具体的数据;对象是类的具体化,是类的实例。对类进行实例化(对类的属性进行赋值)则可以的得到具体的对象
这里写图片描述
JAVA语言以对象为中心,JAVA程序由一个一个的类组成。

封装:

封装指隐藏对象的属性(一般使用访问控制符private),限制了外部程序直接访问对象内容信息,只能通过该类提供的方法实现对内部信息的访问和操作。
封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。
实现良好的封装需要做到:
- 不允许外部直接访问对象的成员变量和实现细节
- 通过方法控制对隐藏内容的安全访问和操作

继承

是类之间的一种关系,是父类和子类之间共享数据和方法的机制。
在定义和实现一个类的时候,可以在一个已经存在的类的基础上进行,并加入若干新的内容。“一个已经存在的类”即父类,在该类基础上加入新内容则成为子类。
一个子类只从一个父类继承,称为“单重继承”;一个子类从多个父类继承,称为“多重继承”。在JAVA中只允许单重继承。
子类可以直接继承父类的方法(通过super关键字调用),也可重写父类的方法;若子类重写父类方法,则调用时优先调用子类的方法。

多态

不同的对象对于同一个行为可以产生不同的结果。如“打印”这个行为,对于“彩色打印机”打印出来的效果为“彩色内容”,对于“黑白打印机”打印出来的效果为“黑白内容”。
多态使具有不同内部结构的对象可以共享相同的外部接口。

消息

对象之间通过消息传递方式进行通信。一般情况下,对象接收它能识别的消息,拒绝它不能识别的消息。
发送一条消息至少应给出一个对象的名字和要发给该对象的消息的名字。如:m1是类Manager的一个对象,当外界要把该对象所代表的经理的级别改变为2时,应以下面的方式向该对象发出一条消息:m1.ChangeLevel(2);


怎么理解面向对象编程?

面向对象,就是以一种对象的角度来编写程序、设计程序,在编程时把所有数据都通过对象的属性和方法进行表示和存储。
面向对象=对象+分类+继承+通过消息的通信


面向对象的几大基本:

基本原则:高内聚、低耦合

对象内部是高内聚的:对象只负责一项特定的职能,所有与对象相关的内容都封装到对象内部(以属性和方法的形式存在)
对象对外是低耦合的:外部世界只可以看到对象的一些属性,只可以看到对象做某些事情而不是全部事情。

基本特性:封装、继承和多态


面向对象分析

分析思路:
1. 识别对象:确认系统关心的实质性对象。
2. 识别对象的属性和行为:确定每个对象的内部信息。
3. 组织对象:通过对象间的关系,将相关对象抽象成类。
4. 对象间的相互作用:确认对象之间在应用系统的关系,如一个对象是另一个对象的一部分。


面向对象的三层

面向对象的三层关系构成了系统的物理模型。

数据访问层

数据访问层是对数据进行操作,具体为业务逻辑层或表示层提供数据服务。

业务逻辑层

业务逻辑层是对具体问题进行操作,对数据业务进行处理。

界面表示层

表示层负责接收用户的请求并返回数据,是向用户展现界面的。

Title: R Object-Oriented Programming Author: Kelly Black Length: 190 pages Edition: 1 Language: English Publisher: Packt Publishing Publication Date: 2014-10-23 ISBN-10: 1783986689 ISBN-13: 9781783986682 A practical guide to help you learn and understand the programming techniques necessary to exploit the full power of R About This Book Learn and understand the programming techniques necessary to solve specific problems and speed up development processes for statistical models and applications Explore the fundamentals of building objects and how they program individual aspects of larger data designs Step-by-step guide to understand how OOP can be applied to application and data models within R Who This Book Is For This book is designed for people with some experience in basic programming practices. It is also assumed that they have some basic experience using R and are familiar using the command line in an R environment. Our primary goal is to raise a beginner to a more advanced level to make him/her more comfortable creating programs and extending R to solve common problems. In Detail R is best suited to produce data and visual analytics through customizable scripts and commands, instead of typical statistical tools that provide tick boxes and drop-down menus for users. The book is divided into three parts to help you perform these steps. It starts by providing you with an overview of the basic data types, data structures, and tools available in R that are used to solve common tasks. It then moves on to offer insights and examples on object-oriented programming with R; this includes an introduction to the basic control structures available in R with examples. It also includes details on how to implement S3 and S4 classes. Finally, the book provides three detailed examples that demonstrate how to bring all of these ideas together. Table of Contents Chapter 1. Data Types Chapter 2. Organizing Data Chapter 3. Saving Data and Printing Results Chapter 4. Calculating Probabilities and Random Numbers Chapter 5. Character and String Operations Chapter 6. Converting and Defining Time Variables Chapter 7. Basic Programming Chapter 8. S3 Classes Chapter 9. S4 Classes Chapter 10. Case Study – Course Grades Chapter 11. Case Study – Simulation
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值