JavaSE面向对象基础概念问题

编程概述
面向过程是一种自上而下的程序设计方法,主要思路专注于算法的实现自上而下的设计方法,设计者用一个main函数概括出整个应用需要做的事情,然后把main方法拆解成不同的步骤,对应不同的函数

public class 装大象问题 {
//首先考虑大的步骤,可以分为3步,定义3个函数的实现
public static void 打开冰箱门() {
//然后细化这个步骤的具体实现,在考虑这个实现时,不用考虑其他的步骤
//相当于将问题的难道降低
}
public static void 把大象赶进门() {}
public static void 关闭冰箱门() {}
public static void 选定冰箱门() {}
public static void 使用助力系统开门() {} public static void main(String[] args) {
打开冰箱门();
把大象赶进门();
关闭冰箱门();
}
}

     过程式的特征是以函数为中心,用函数作为划分程序的基本单位;数据在过程式设计中处于从属的位置过程式设计的优点是易于理解和掌握,这种逐步细化问题的设计方法与大多数人的思维方式比较接近过程式设计是自上而下,这就要求设计者在开始时要对需要解决的问题有一定的理解,然而在问题比较复杂时,要做到这一点比较困难;当开发需求变化时,以前对问题的理解会变得不再适用软件代码的重用性很差,即使重用,也是简单的复制和拷贝,代码数量急剧增加。而不能直接继承和应用面向过程的方法将数据和过程分离,使得数据的改变很可能带来代码的变化 面向对象是一种自下而上的程序设计方法,以数据为中心,类是表现数据的单位,是划分程序的基本单位面向对象设计是自下而上的特性,允许开发者从问题的局部开始,在开发过程中逐步加深对系统的理解。需求变化会作用到系统开发本身,形成一种螺旋式的开发方式面向对象设计中,类封装了数据,而类的成员函数作为其对外的接口,抽象地描述类,用类将数据和操作这些数据的函数放在一起,这就是面向对象设计方法的本质
     对象的引入

造房子的砖头有红色的砖、有方砖、有圆砖,此时现实生活中的各种各样的砖头都可以称作是对象方砖、圆砖,他们之间头共同点,但也有不同方面,这些不同的地方使得它们不可能是同一种对象,然而砖头是所有种类砖的总成,所有的砖都是由它派生出来的,所以这个砖可以称为是一个类类就是模板,也可以说类就是创建对象的基地,能产生出很多不同的对象java语言与其他面向对象语言一样,引入类的概念是用来创建对象的模板,它包含被创建对象的状态描述和方法的定义。java是面向对象语言,它的源文件是由若干个类组成,源文件的扩展名为.java的文本文件要学习java编程就必须学会怎样去编写类,即怎样用java的语法去描述一类事物共有的属性和功能。属性通过变量来刻画,功能通过方法来体现,即方法操作属性形成一定的算法来实现一个具体的功能。类把数据和对数据的操作封装成一个整体数据是描述某种类型的相关参数操作是允许执行的动作
class 学生{ 这就是人为定义的新的数据类型,和int/double之类系统预定义类型没有什么区别
String 学历;
int 身高;
public void 设置学历(String str){}}

如何描述现实生活中的事物
对于事物描述通常只关注属性和行为两方面 明确该事物的属性和行为并定义在类中即可 抽象数据类型 不要把自定义的类和一般数据类型对立 不同于int类型:具有方法 一切事物皆对象 通过面向对象的方式,将现实世界的事物抽象成对象,现实世界中的关系抽象成类、继承,帮助人们实现对现实世界的抽象与数字建模。通过面向对象的方法,更利于用人理解的方式对复杂系统进行分析、设计与编程。同时,面向对象能有效提高编程的效率,通过封装技术,消息机制可以像搭积木的一样快速开发出一个全新的系统 抽象是从特定的实例中抽取共同的性质以形成一般化概念的过程 把众多的事物归纳、划分成类是我们在认识世界时经常采用的方法 分类所依据的原则是抽象,也就是忽略事物的非本质特征,只注意那些与当前目标有关的本质特征 找出事物的共性并将具有共同性质的事物划分为同一个类
面向对象(Object Oriented,OO)是软件开发方法 面向对象是一种新兴的程序设计方法,或者是一种新的程序设计规范paradigm,其基本思想是使用对象、类、继承、封装、消息等基本概念来进行程序设计 从现实世界中客观存在的事物(即对象)出发来构造软件系统,并且在系统构造中尽可能运用人类的自然思维方式 开发一个软件是为了解决某些问题,这些问题所涉及的业务范围称作该软件的问题域。其应用领域不仅仅是软件,还有计算机体系结构和人工智能等 面向对象的思想已经涉及到软件开发的各个方面。如,面向对象的分析(OOA,Object Oriented Analysis),面向对象的设计(OOD,Object Oriented Design)、以及我们经常说的面向对象的编程实现(OOP,Object Oriented Programming)。 OOP使得现实世界中的概念在计算机程序中编程模块,它包括构造程序的特征以及组织数据和算法的机制
面向对象是一种对现实世界理解和抽象的方法
传统的程序设计主张将程序看作一系列函数的集合,或者直接就是一系列对电脑下达的指令。面向对象程序设计中的每一个对象都应该能够接受数据、处理数据并将数据传达给其它对象,因此它们都可以被看作一个小型的“机器”,即对象
OOP语言有3大特征:封装、继承及多态,所有这些特征与类的概念是息息相关的
面向对象是指一种程序设计范型,同时也是一种程序开发的方法。对象指的是类的集合。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性
对象、类、实体之间的关系和面向对象的问题求解思维方式 对象
在现实世界中:是客观世界中的一个实体,是研究的具体目标
在计算机世界中:是一个可标识的存储区域 现实世界中所有的事物都是对象
对象都具有某些特征(属性—数据),并展现某些行为(功能)
对象的两个要素
属性
用于描述对象静态特性(结构特性)的一个数据项, 描述一个人可用姓名、性别、身份证号等属性
方法(也称服务)
用于描述对象动态特性(行为特性)的一个操作系列
每个人都具有工作、学习等行为特性 对象将数据和施加于数据上的操作打包成一个不可分割的最基本的模块,使得仅有该类的有限个方法才可以操纵、改变这些数据用Java语言对现实生活中的事物进行描述,通过类的形式来体现
类是具有共同属性和行为的对象的抽象 类是用于组合各个对象所共有操作和属性的一种机制
类是具有相同属性和行为的一组对象的集合
类和对象之间的关系
类是事物的描述
类是Java程序的核心,它定义了对象的形状和本质,可以用类来创建对象。当使用一个类创建了一个对象时,通常说给出了这个类的一个实例
一个源代码文件中可以定义无数个类,但是只能有一个public公共类,其它的类只能是非public类
类由类声明和类体构成,一般命名方法为:首字母大写,大写字母分词,例如XueSheng
class className{
类体;
}
类包含数据成员(数据、属性)和成员方法(函数)。一般建议数据成员应该是通过函数(方法)访问的 对象是类的实例,就是应用中定义的某个类的变量,例如
Person p=new Person();
p就是对象
类是和问题域相关的具有相同属性和行为的对象的抽象 对象是该类事物的实例,在Java中通过new来创建的
描述小汽车—对象
分析—使用抽象的方式定义其对应的类属—抽取公共的特性和功能
只分析需要关注的内容
属性 轮胎数、颜色
行为 启动、巡航行驶、制动
public class Car{//所有方法之外当前类内定义的变量就是属性,用于描述一类对象的静态特征。具体的定义位置没有要求,定义在类的开始部分,两个方法之间,或是类定义的末尾都没关系
private int tires=5; //定义属性,同时赋初始值public String color;
public void begin(){ //成员方法,方法应该位于类内,不允许方法中再定义方法 System.out.println(“启动”); //实际是就是面向过程的解决问题的步骤描述}
public void move(){
System.out.println(“我使劲的跑”);
}public void stop(){
System.out.println(“我立即站住”);}}
然后就可以在测试程序中使用这个类定义变量public class A1{
注意这是另外一个名称为A1的java文件 public static void main(String[] args){
Car car=new Car(); //通过自定义的Car类型,定义一个变量,用于表示具体的研究目标,就是对象
car.color= “香槟银”; //通过对象名.属性的方法修改访问对象中的属性
car.begin();
//通过变量调用类中定义的成员方法
car.move();
car.stop();
}}

发布了33 篇原创文章 · 获赞 27 · 访问量 1364

猜你喜欢

转载自blog.csdn.net/qq_45874107/article/details/105111651