面向对象的学习

1、面向过程和面向对象的区别?
1-1、什么是面向过程,面向对象?

  • 面向过程是编程语言中的一种自上而下的框架式结构的思维方式,它需要对实现的整体有着很好的认识基础。
  • 面向对象是针对不同领域,用一种自定义的方式去了解和实现整体的运作的一种思维方式。

1-2、面向过程是如何过渡到面向对象的?

  • 面向过程是编程语言发展初期针对科学家们,了解所属领域计算方法和思路的一种编写过程,但随着时代的发展,计算机的普普及,越来越多的行业需要用计算机来进行方法处理,因此针对不同的行业,程序员们需要用一种自定义的方法来实现未知领域的计算方法,因此诞生了面向对象的思维方式。

1-3、在有了面向对象情况下,是否不需要面向过程了?
(面向过程是否被淘汰了?面向对象和面向过程谁好?)

  • NO!面向对象是我们对一个整体进行拆分定义后,再用面向过程的框架化思维,将各对象联系运作起来,按照顺序执行实现。

2、类与对象的概念,对象与类的区别与联系?

  • 类是一种模糊的模板,对象是一种实例存在
  • 类是多个对象共同满足的一种模糊的框架,类决定了对象的整体框架,一个类可以产生多个对象,对象则对其本身进行了更清晰的定义。

3、类的定义语法,对象的产生语法,对象的使用语法
public class 类名{

  //属性
  
  
  //行为

}
附加知识点:类 java文件 class文件 三者在名称和个数上的关系?

  • 类名 对象名 = new 类名();
    附加知识点:
    1、类是一种数据类型,而且是引用数据类型;
    2、内存的划分,以及各种变量在内存中的存放位置 和 结构

    内存划分情况说明:
    内存会被划分为4个区域:代码段、数据段、栈区、堆区;
    在加载期,代码(特别是方法)会被加载放入到代码段,每个
    方法只放一次;
    在加载期,凡事代码中的常量会被放入到数据段(以后还会有细节);
    运行期,局部变量会被放入栈区,而new出来的对象(当然也包括
    对象身上的属性)会被放入到堆区。
    可以看到放入的内存位置跟数据类型是无关的。
    数据类型控制的是变量存放值的方式而不是位置。基本数据类型变量
    所在的内存放的就是数据值本身,引用数据类型变量的所在内存中存
    放的是数据的引用,值(对象)在其他地方。

    对象使用 "."操作 访问属性或者方法
    附加了访问修饰符(三个关键字,4种情况)
    public — 公共的
    默认不写 — 同包的
    private — 私有的
    没有讲完有待于进一步的补充。

4、销毁对象 ---- 垃圾回收机制(GC)

  • 垃圾回收是独立的运行机制,有自身算法去控制回收; 唯一的代码System.gc(), 效果是啥?
    最基本的回收算法是啥?—当一个对象没有引用指向的时候

    补充知识点: 匿名对象 只能使用1次

5、如何在一个问题域当中设计类、属性和方法呢?
5-1、首先在问题域当中寻找名词—

  • 对象应关注而产生

5-2、是不是找到的名词都是要自定义的类呢?

  • 不是,判断是否有现成的数据类型就能够满足问题域对该
    名词的要求;如果有,直接使用现成的数据类型;没有才
    自定义类!

5-3、通过问题域判定,名词与名词之间的关联关系;
use – a, has – a
如果是has-a关系,那么把对方作为自己的一个属性;
5-4、找动词,动词都是行为
5-5、把行为划分到它所属的类型当中去
5-6、合并考虑行为和use-a关系,决定哪些行为是需要绑定
另外一个类型的
5-7、最后再在main方法当中把他们产生、调用;

6、this是什么?什么时候用?

7、类名和类的限定名之间的关系与区别

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值