面向对象基础01(类实例分析)

实现的目标

1.如何分析一个类(类的基本分析思路)

分析的思路

1.根据要求写出类所包含的属性
2.所有的属性都必须进行封装(private)
3.封装之后的属性通过setter和getter设置和取得
4.如果需要可以加入若干构造方法 
5.再根据其它要求添加相应的方法
6.类中的所有方法都不要直接输出,而是交给被调用处调用

Demo

定义并测试一个名为Student的类,包括属性有"学号"、"姓名"以及3门课程"数学"、"英语","计算机"的成绩,包括的方法有计算3门课程的"总分"、"平均分"、"最高分"和"最低分"。

1.本类的属性及类型

2.定义出需要的方法(构造方法、普通方法)

3.类图

4.编写代码

/**
*1.定义一个Student类并测试该类
*/
class Student{
private String stuid; //学号
private String name; //姓名
private float math; //数学成绩
private float english; //英语成绩
private float computer; //计算机成绩 public Student(){ }
//定义5个参数的构造方法,为类中的属性初始化
public Student(String stuid,String name,float math,float english,float computer){
this.stuid = stuid;
this.name = name;
this.math = math;
this.english = english;
this.computer = computer;
} public void setStuid(String stuid){
this.stuid = stuid;
}
public String getStuid(){
return this.stuid;
} public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
} public void setMath(float math){
this.math = math;
}
public float getMath(){
return this.math;
} public void setEnglish(float english){
this.english = english;
}
public float getEnglish(){
return this.english;
} public void setComputer(float computer){
this.computer = computer;
}
public float getComputer(){
return this.computer;
} public float sum(){
float sum = this.math + this.english + this.computer;
return sum;
}
public float avg(){
float avg = (this.math + this.english + this.computer)/3;
//float avg = this.sum()/3;
return avg;
}
public float max(){
float max = this.math;
max = this.english > max ? this.english:max;
max = this.computer > max ? this.computer:max;
return max;
}
public float min(){
float min = this.math;
min = this.english < min ? this.english:min;
min = this.computer < min ? this.computer:min;
return min;
}
}
/**
*1.编写测试类,测试以上代码
*/
class Demo01{
public static void main(String [] args){
Student stu1 = new Student("1114020116","张三",95.0f,78.0f,85.0f); //实例化Student对象并通过构造方法赋值
System.out.println("学号:"+stu1.getStuid());
System.out.println("姓名:"+stu1.getName());
System.out.println("数学成绩:"+stu1.getMath());
System.out.println("英语成绩:"+stu1.getEnglish());
System.out.println("计算机成绩:"+stu1.getComputer()); System.out.println("成绩总和:"+stu1.sum());
System.out.println("成绩平均值:"+stu1.avg());
System.out.println("最高分:"+stu1.max());
System.out.println("最低分:"+stu1.min());
}
} Process started >>>
学号:1114020116
姓名:张三
数学成绩:95.0
英语成绩:78.0
计算机成绩:85.0
成绩总和:258.0
成绩平均值:86.0
最高分:95.0
最低分:78.0
<<< Process finished. (Exit code 0)

java基础学习05(面向对象基础01--类实例分析)的更多相关文章

  1. java基础学习05(面向对象基础01)

    面向对象基础01 1.理解面向对象的概念 2.掌握类与对象的概念3.掌握类的封装性4.掌握类构造方法的使用 实现的目标 1.类与对象的关系.定义.使用 2.对象的创建格式,可以创建多个对象3.对象的内 ...

  2. java基础学习05(面向对象基础02)

    面向对象基础02 实现的目标 1.String类的使用2.掌握this关键字的使用3.掌握static关键字的使用4.了解内部类 String类 实例化String对象一个字符串就是一个String类 ...

  3. Java JUC之Atomic系列12大类实例讲解和原理分解

    Java JUC之Atomic系列12大类实例讲解和原理分解 2013-02-21      0个评论       作者:xieyuooo 收藏    我要投稿 在java6以后我们不但接触到了Loc ...

  4. java基础学习总结——面向对象2

    一.JAVA类的定义

  5. Java学习 · 初识 面向对象基础一

    面向对象基础 1.1面向过程与面向对象的区别 面向过程和面向对象二者都是思考问题的方式,再简单的事物时,可以线性思考时使用面向过程,但当事物较为复杂时,只能使用面向对象设计.但二者并不是对立的,在解决 ...

  6. Python学习之面向对象基础

    python的面向对象和以前学的c++,Java都是一般,大同小异,面向对象基础先谈谈类的构造,编写,属性和方法的可见性等等 1.定义类,创建和使用对象 #定义类 class Student(obje ...

  7. JavaSE学习笔记05面向对象编程01

    面向对象编程01 java的核心思想就是OOP 面向过程&面向对象 面向过程思想: 步骤清晰简单,第一步做什么,第二步做什么...... 面向过程适合处理一些较为简单的问题 面向对象思想: 物 ...

  8. python基础学习 Day19 面向对象的三大特性之多态、封装 property的用法(1)

    一.课前内容回顾 继承作用:提高代码的重用性(要继承父类的子类都实现相同的方法:抽象类.接口) 继承解释:当你开始编写两个类的时候,出现了重复的代码,通过继承来简化代码,把重复的代码放在父类中. 单继 ...

  9. python基础学习 Day19 面向对象的三大特性之多态、封装

    一.课前内容回顾 继承作用:提高代码的重用性(要继承父类的子类都实现相同的方法:抽象类.接口) 继承解释:当你开始编写两个类的时候,出现了重复的代码,通过继承来简化代码,把重复的代码放在父类中. 单继 ...

随机推荐

  1. php开发工具之火狐浏览器插件

    相信做开发的都有一种火狐情怀吧!  下面来介绍下一些自己在php开发工程中用到几个火狐浏览器插件. 1.[firebug]: 这个插件可以说是一个神奇,功能不用过对介绍. 2.[hostAdmin]: ...

  2. [译]管理IIS日志的存储

    原文:http://www.iis.net/learn/manage/provisioning-and-managing-iis/managing-iis-log-file-storage Overv ...

  3. getField方法

    getField方法是ThinkPHP中用来获取字段值的方法,区别于select和find方法,通常仅用于获取个别字段的值.但是事实上并没有那么简单,该方法的用法总结如下: 获取某个字段值这个是get ...

  4. wordpress自动清理评论回收站

    有时wordpress的垃圾评论实在让人心烦,杂草难除根,footprint吹又生.如果你有心情的话会一个个把垃圾评论放入回收站,但是时间一长,回收站里的东西越堆越多,你可以点击回收站,然后再点一下e ...

  5. 【转】php 下载保存文件保存到本地的两种实现方法

    来源:http://www.jb51.net/article/40485.htm 第一种: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <?php function d ...

  6. android常见问题(一)

    一:文本的颜色选择器: 在res目录下面创建color文件夹,在color文件夹下面创建font_style_colors.xml文件<?xml version="1.0" ...

  7. TCP(传输控制协议)和三次握手和四次断开

    TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的.可靠的.基于字节流的传输层通信协议,由IETF的RFC 793定义.在简化的计算机网络OSI模型中, ...

  8. 实战Centos系统部署Codis集群服务

    导读 Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 (不支持的命令列表), 上层应用可 ...

  9. 从输入 URL 到浏览器接收的过程中发生了什么事情?

    从输入 URL 到浏览器接收的过程中发生了什么事情? What really happens when you navigate to a URL 上面两篇文章都解读的很好,值得阅读. 接下来在总结一 ...

  10. delay() .split()

    delay(500) 延时多少秒后执行,结合animate()使用 delay(500).animate({},时间) .split() stringObject.split(separator,ho ...