Java基础概念

面向对象编程通过类来抽象事物的状态和行为,如学生类和自行车类。对象是类的实例,具有特定的属性(状态)和方法(行为)。在设计用户角色时,通过抽象出共性创建用户类,提高代码复用。良好的编程规范,如命名规范,能增强代码的可读性和可维护性。
摘要由CSDN通过智能技术生成

面向对象

在非面向对象编程中,通过使用数字、字符等基本数据类来描述和解决问题。

在面向对象编程中,通过使用问题所处环境中出现的实体、对象描述和解决问题。真实世界的事物(客体,客观存在并可主观感知的任何事物),都具有两种特性:状态和行为。面向对象编程就是从分析/识别/抽象,真实世界的事物开始。

类是构造对象的模板,可以用来藐视形容一类特定的事物的内容。就是从具体的事物中抽象出事物的状态(属性)、行为(方法)。

由类构造的对象的过程成为创建类的实例。

作为一个类的实例,特定的对象都有一组特定的实例字段,这些值的集合可以成为是这个对象的当前状态。

public class Student{
    private int grade;
    private String clazz;
    private name;
    private ubNumber;    
}

基于面向对象分析,学生应该具有年级、班级、姓名、学号属性。这个类在程序中就代表了学生群体。基于抽象的类可以创建一个具体的对象。

new Student (1,"软件一班","小明",12345);

创建了一个一年级,软件一班,学号为12345的小明同学。

下面创建一个自行车类:

public class Bicycle{
    private int cadence = 0;
    private int speed = 0;
    private int gear = 1;
    //改变频率
    void changeCadence(int newValue){
        cadence = newValue;
    }
    //改变档位
    void changeGear(int newValue){
        gear = newValue;
    }
    //改变速度
    void changeSpeed(int newValue){
        speed = newValue;
    }
    //刹车降速
    void downSpeed(int decrement){
        speed = speed - decrement;
    }
}

private int cadence = 0;

private int speed = 0;

private int gear = 1;

为属性(状态)

void changeCadence(int newValue)

void changeGear(int newValue)

void changeSpeed(int newValue)

void downSpeed(int decrement)

为改变属性(状态)的方法(行为)

特性

创建以下两个自行车对象:

Bicycle bicycle = new Bicycle(0,0,0);
Bicycle bicycle1 = new Bicycle(0,0,0);

在现实生活中,两个具有同样的频率、档位、速度的自行车显然不是同一辆自行车。

如何区分具有相同行为的与状态的不同对象?

不同类型的事物通常具有一定共同的特性,同时又拥有区别于其他事物的自有的特性,面向对象编程允许从其他类继承状态和行为

需求:设计学校教务系统用户角色:教师,行政教工,学生;用户通过唯一的教工号/学号及密码登录

public class Teacher {
    private String name;
    //教工号
    private int staffNumber;
    private String password;
    //职称
    private String titile;
}

public class Staff {
    private String name;
    //教工号
    private int staffNumber;
    private String password;
    //部门
    private String department;
}

public class Student {
    private String name;
    //学号
    private int ubNumber;
    private String password;
    //年级
    private int grade;
}

在分析三个角色后,进一步抽象出相同的属性,设计用户类型

public class User{
    private String name;
    //用户唯一标识号
    private int number;
    private String password;
}

包(package),项目由众多独立的文件(类/接口等源文件,配置文件等)组成;包是用来组织相关源码文件,使程序结构更加清晰的命名空间(文件夹目录)

关键词“package”,声明包的路径名称;以“.”点分隔符分隔层次;必须声明在源文件的顶部;源文件位置必须与包声明的相同

CC:包命名规范。倒置的开发单位域名+项目名称+功能模块名称+层次名称等,全部小写的英文单数名词

命名规范

良好的编程规范,会使代码更易于理解,增加代码的可读性,提高代码的可维护性

CC:基本通用命名规范。所有包/类/接口/方法/参数/变量等的命名,必须使用有意义的/无歧义的英文单词/英文单词缩写;禁止使用中文/拼音/拼音缩写/英文拼音混合命名;区分大小写

CC:类命名规范。按驼峰式命名(Camel Case),不能使用关键词;每个单词仅首字母大写,一般为单数,工具类等可以使用复数

CC:大括号使用规范。所有“{}”大括号,左括号必须置于起始语句末,右括号独立一行或在关联语句始

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值