java 类与对象初步

面向对象是一个重要的编程思想,本质上是对现实世界中的对象进行建模操作,先有清晰的逻辑概念,才能在此框架上进行具体的实施工作,所以此篇文章将的对这一知识进行初步整理。

1.对象

对象是世间万事万物存在的实体,每一个具体的东西都可以被称为是一个对象,例如 一个人、一个杯子、一只蚂蚁、一部手机等。

比如我们想描述一个人,我们通常会用具体化的描述方法来具体描述,比如一个人是180cm的身高,,他的年龄是19岁、他的家乡在南京、他的头发是蓝色等等能表示他特征的这些具体点,在计算机中,我们把这些特点称为属性。然他可以进行唱、跳、rap、打篮球这些行为 。我们通过这这些静态的特点和动态的行为就能较为具体的了解这一对象。
在这里插入图片描述
在面临某些问题的时候,我们也可以用面向对象的思想来进行解决。
步骤如下
(1)在问题中抽象出具体的对象
(2)对这个对象的属性进行识别描述
(3)识别这个对象的一系列动态行为
(4)根据已知的信息来针对问题进行分析

在此也能体现出封装的思想,描述人都需要去描述这个人的这些属性或行为,将这些行为和属性进行封装,来描述人。由此可见,类是一个载体,目的是封装对象属性和行为,对象则是类中抽象出来的一个具体的实例。 3

2.类

一个事物不能描述为一类,但如果一个大类事物一个统称的话,就可以使用类这一概念进行描述。例如鸟类 啮齿动物类 具有相同特性和行为的一类事物称为类。类是世间事物的抽象称呼,而对象则是这个事物相对应的实体。
在java中,属性通过变量来表示,行为通过方法来表示。

class book{
    double price;
    String name;
    int year;//属性

    public String getName() {
        return name;
    }
}

在例子中,一个简单的书类抽象出了书的特征,一本书具体价格、名称、年份的属性,方法中对应到获取书实例对象的名称。

成员变量
在java中的属性又称为成员变量。在本例中,成员变量就为name、year、price。成员变量和普通的变量之间没有大的区别,可以为它赋予一个初始值,也可以不赋予,没有赋予初始值得话,编译器也会给一个默认的值。
成员方法
在本例中getName()
定义成员方法的语法格式如下

权限修饰符 返回值类型 方法名(参数类型 参数名)
{
....//方法体
return 返回值;
}

成员方法也可以有参数,可以是对象,或者是基本的变量,同样方法也可以有需要或者不需要返回值的不同选择。需要返回值的话可以在方法体中使用return关键字,使用之后方法将会终止执行。

权限修饰符
java中的权限修饰符主要包括private、public、protected,这些修饰符控制着对类和对类的成员变量以及成员方法的访问。

priva修饰的成员变量只能在本类中被使用,在子类中不可见,对于其他包的类也是不可见的。如果一个类的额访问权限为private,这个类将隐藏其中的所有数据,用户不能直接对它进行访问。
public修饰的成员,不仅可以在本类中使用,还可以在子类和其他包的类中进行使用。
protect修饰的成员变量,本包的该类的子类或其他类可以访问此类中的成员变量和成员方法。
在这里插入图片描述

3.面向对象的三大特性

面向对象程序设计具有以下的三大特点
1.封装性
封装性指的是,将对象的属性和行为封装在一起,以类作为载体,作为客户来讲,不需要了解类中的具体细节,这就是封装的思想,比如我们使用全自动洗衣机时,只需要按下洗涤甩干等按键,洗衣机便会运转,我们作为使用者而言,不需要了解其中具体的完成过程。
2.继承性
类与类之间是存在联系的,这种联系称为关联。商品类与超市类有关联,速食类和洗漱用品类也存在关联,当然,关联和关联之间也是有区别的 ,继承是一种比较经典的关系。
当我们在解决一些问题时,我们可以会想到能不能把一些类保留下来,比如我们想要研究一个摩托车的使用问题,摩托车属于机动车类,我们可以对机动车类中的属性和方法进行复用,但摩托车也具有自己的特点,比如有两个轮子,需要戴头盔等等,这时候就需要我们进行添加摩托车类自己的属性和方法,对于之前就有的例如加油之类的方法就不需要再进行书写,很大程度上提升了效率,节省了时间。提高了程序的简洁性也减少了错误发生的概率。
继承的关键在于找到所研究对象之间的共有特性,例如四边形,正方形、矩形、也都是四边形,他们之间的共同特点就是有四条边。平行四边行就是四边形的延伸,成功利用了四边形的属性和行为。
3.多态性
多态同样是面向对面编程中的一个重要特征。多态有两种意义。第一种意义是操作名称上的多种形态,比如同样的操作 “叫”,同样的操作,形态上可能会存在区别,对于猫来执行,会发出“喵喵”,狗会发出“汪汪”。操作名称上的多态特性,可以向操作传递不同消息,让对象根据对应的消息来产生不同的行为。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值