类与对象 --- 概念及语法

目录

面向过程 ---> 面向对象

类的概念

对象的概念

类与对象的关系

类的语法

语法:

属性

行为

类与类之间的关系

对象的语法

产生对象

使用对象

销毁对象

如何在一个问题域当中设计类、属性和方法


面向过程 ---> 面向对象

随着计算机硬件的发展,软件的应用范围从科学运算走向各个领域,开发人员对问题域的认知度需要从方法上发生根本性的变化。

面向过程 ---- 基于分析问题域的解决步骤

面向对象 --- 基于分析问题域的参与角色

至于要说这两个方法谁更好,我认为只能说面向不同的问题域那种方法更适合,更自然;面向对象内部也存在面向过程的思维方式,我认为是不可分割的。

类的概念

概念:类是通过人脑的思维,把具有相同属性和行为的一组实体抽取为一种共同的抽象概念。

基本组成:属性和行为

本质:类是用户自定义的一种“数据类型”,属于引用数据类型。

对象的概念

概念:对象则是数据和动作的结合,是在软件系统中表现的具体的实际的存在,又被称之为“实例”。

基本组成:属性和行为

本质:根据“类”这种数据类型,在内存中真正产生的数据量,既能保存值数据,也能提供行为。

类与对象的关系

类是对象的抽象,对象是类的实例

类的语法

语法:


 public class 类名{
     //属性 --- 值数据 


    //行为 --- 方法(功能)
 }

示例:

public class Dog {

    public String name;
    public int age;
    
    public void taoHao{
        System.out.println("摇尾巴");
    }
    
}

属性

语法 ---- 定义变量 或 定义常量 的语法

具体表现:
1、访问修饰符  数据类型  变量名;
2、访问修饰符 final 数据类型 常量名 = 常量值;

示例:

public class Test {

    public final String xingBie = "男";
    public String name;
    public int age;
    
}

类当中的变量属性具有自动初始化的效果:
1、基本数据类型变量初始化为0
2、引用数据类型变量初始化为null

如上new一个Test对象,若不给对象赋值,那么name会自动初始化为null,age为0。

行为

语法 --- 声明方法(函数)的语法

具体表现:
访问修饰符 可选修饰符 返回类型 方法名 (形参列表 ) {
           方法实现语句;
}

类与类之间的关系

use - a 关系 在某个方法中绑定(使用)

has - a 关系 在类的定义中组合(拥有)

is - a 关系 继承

对象的语法

产生对象

new关键字产生对象
语法:
类名 对象变量 = new 类名( );

内存模型

 特例:匿名对象

没有对象变量存放该对象的引用,所以只能使用一次。

使用对象

“.”点操作符,语法:
1、对象.属性;
2、对象.方法(实参);

销毁对象

垃圾回收机制(GC)

System.gc();

1、垃圾回收是独立的运行机制,有自身算法去控制回收,程序员没有办法干预;
2、当一个对象没有引用指向的时候,就会被GC纳入到回收机制当中。

如何在一个问题域当中设计类、属性和方法

1、首先在问题域当中寻找名词---对象应关注而产生;
2、是不是找到的名词都是要自定义的类呢?
      不一定,判断是否有现成的数据类型就能够满足问题域对该名词的要求;如果有,直接使用现成的数据类型;没有才自定义类!
3、通过问题域判定,名词与名词之间的关联关系;
      如果是has-a关系,那么把对方作为自己的一个属性;
4、找动词,动词都是行为;
5、把行为划分到它所属的类型当中去;
6、合并考虑行为和use-a关系,决定哪些行为是需要绑定另外一个类型的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值