Java基础笔记(4)

1、面向过程和面向对象有什么区别?

什么是面向过程的开发方式?
    面向过程的基本概念:面向过程是一种以过程为中心的编程思想。面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用,是一种思考问题的基础方法。
    
    面向过程有什么缺点?(耦合度高,扩展力差。)
        面向过程最主要是每一步与每一步的因果关系,其中A步骤因果关系到B
        步骤,A和B联合起来形成一个子模块,子模块和子模块之间又因为因果
        关系结合在一起,假设其中任何一个因果关系出现问题(错误),此时
        整个系统的运转都会出现问题。(代码和代码之间的耦合度太高,扩展力
        太差。)
           
        采用面向过程的方式开发一台计算机会是怎样?
            这台计算机将没有任何一个部件,所有的都是融合在一起的。
            你的这台计算机是一个实心儿的,没有部件的。一体机。
            假设这台一体机的任何一个“部位”出问题,整个计算机就不能用了,
            必须扔掉了。(没有对象的概念。)
​
        采用面向对象的方式开发一台计算机会是怎样?
            内存条是一个对象
            主板是一个对象
            CPU是一个对象
            硬盘是一个对象
            然后这些对象组装在一起,形成一台计算机。
            假设其中CPU坏了,我们可以将CPU拆下来,换一个新的。
​
    面向过程有什么优点?(快速开发)
        对于小型项目(功能),采用面向过程的方式进行开发,效率较高。
        不需要前期进行对象的提取,模型的建立,采用面向过程
        方式可以直接开始干活。一上来直接写代码,编写因果关系。
        从而实现功能。
​
什么是面向对象的开发方式?
    面向对象的基本概念:面向对象是软件开发方法中的一种;是一种对现实世界理解和抽象的方法;是思考问题相对高级的方法。
    面向对象就是将现实世界分割成不同的对象,然后每一个对象
    都实现成对象,然后给一个环境驱动一下,让各个对象之间协
    作起来形成一个系统。
​
    采用面向对象的方式进行开发:
        耦合度低,扩展力强。
​
找一个合适的案例。说明一下面向对象和面向过程的区别?
    蛋炒饭:
        鸡蛋和米饭完全混合在一起。没有独立对象的概念。
        假设客户提出新需求:我只想吃蛋炒饭中的米饭,怎么办?
            客户提出需求,软件开发者必须满足这个需求,于是
            开始扩展,这个软件的扩展是一场噩梦。(很难扩展,耦合度太高了。)
​
    盖饭:
        老板,来一份:鱼香肉丝盖饭
        鱼香肉丝是一道菜,可以看成一个独立的对象。
        米饭可以看成一个独立的对象。
        两个对象准备好之后,只要有一个动作,叫做:“盖”
        这样两个对象就组合在一起了。
​
        假设客户提出新需求:我不想吃鱼香肉丝盖饭,想吃西红柿鸡蛋盖饭。
        这个扩展就很轻松了。直接把“鱼香肉丝”对象换成“西红柿鸡蛋”对象。
​
面向过程主要关注的是:实现步骤以及整个过程。
面向对象主要关注的是:对象A,对象B,对象C,然后对象ABC组合,或者CBA组合

2、当我们采用面向对象的方式贯穿整个系统的话,涉及到三个术语:

OOA:面向对象分析

OOD:面向对象设计

OOP:面向对象编程 

实现一个软件的过程:
    分析(A) --> 设计(D) --> 编程(P)

3、类和对象的概念

面向对象当中最主要“一词”是:对象。
​
什么是类?
    类实际上在现实世界当中是不存在的,是一个抽象的概念。
    是一个模板。是我们人类大脑进行“思考、总结、抽象”的一个
    结果。
​
    类本质上是现实世界当中某些事物具有共同特征,将这些共同
    特征提取出来形成的概念就是一个“类”,“类”就是一个模板。
​
 
​
什么是对象?
    对象是实际存在的个体。(真实存在的个体)
​
  
在java语言中,要想得到“对象”,必须先定义“类”,“对象”是通过“类”
这个模板创造出来的。
    类就是一个模板:类中描述的是所有对象的“共同特征信息”
    对象就是通过类创建出的个体。
​
这几个术语你需要自己能够阐述出来:
    类:不存在的,人类大脑思考总结一个模板(这个模板当中描述了共同特征。)
    对象:实际存在的个体。
    实例:对象还有另一个名字叫做实例。
    实例化:通过类这个模板创建对象的过程,叫做:实例化。
    抽象:多个对象具有共同特征,进行思考总结抽取共同特征的过程。
​
    类 --【实例化】--> 对象(实例)
    对象 --【抽象】--> 类
​
类是一个模板,是描述共同特征的一个模板,那么共同特征包括什么呢?
    
    类 = 属性 + 方法
    属性来源于:状态
    方法来源于:动作
​
    public class 明星类{
        //属性-->状态,多见于名词
        名字属性;
        身高属性;
​
        //方法-->动作,多见于动词
        打篮球方法(){
        
        }
        学习方法(){
        
        }
    }
​
   
    可以定义一个学生类(Student)
    public class Student {
        // 属性
        // 姓名
        // 性别
        // 身高
​
        // 方法
        public .... sing(){
        
        }
        public .... dance(){
        
        }
        public .... study(){
        
        }
        ....
    }

4、类的定义

4.1、怎么定义一个类,语法格式是什么?

[修饰符列表] class 类名 { 类体 = 属性 + 方法 }

属性在代码上以“变量”的形式存在(描述状态)  方法描述动作/行为 

7、关于编译的过程 按说应该先编译XueSheng.java,然后再编译XueShengTest.java 但是对于编译器来说,编译XueShengTest.java文件的时候,会自动 找XueSheng.class,如果没有,会自动编译XueSheng.java文件,生成 XueSheng.class文件。

第一种方式: javac XueSheng.java javac XueShengTest.java

第二种方式: javac XueShengTest.java

第三种方式: javac *.java

8、在语法级别上是怎么完成对象创建的呢? 类名 变量名 = new 类名(); 这样就完成了对象的创建。

9、什么是实例变量? 对象又被称为实例。 实例变量实际上就是:对象级别的变量。 public class 明星类{ double height; } 身高这个属性所有的明星对象都有,但是每一个对象都有“自己的身高值”。 假设创建10个明星对象,height变量应该有10份。 所以这种变量被称为对象级别的变量。属于实例变量。

10、对象和引用的区别? 对象是通过new出来的,在堆内存中存储。 引用是:但凡是变量,并且该变量中保存了内存地址指向了堆内存当中的对象的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值