java面向对象 ---- 认识类和对象

----  开发方法

结构化开发方法特点:

  1、面向功能划分软件结构

  2、自顶而下

  3、最小的子系统是方法

  4、制约了软件的可维护性和扩展性

面向对象开发方法特点:

  1、把软件系统看成各种对象和集合

  2、系统结构较稳定

  3、子系统相对独立

  4、软件可重用性、可维护性和扩展性强

----   面向对象程序设计(object  Oriented programming 简称OOP)

对象: 用来描述客观事物的一个实体,由一组属性和方法组成

对象的特征  ----  属性

属性   ---   对象具有的各种特征

每个对象的每个属性都拥有特定的值

比如:英雄周瑜的属性: 姓名  血量   蓝量等。

对象的特征 ---   方法

 方法: 对象执行的操作

 比如:英雄周瑜的方法: 攻击其他英雄,攻击防御塔,帮助队友加速等

-----  列出小猫的属性和方法

属性有: 颜色、品种     方法有:跑、叫、咬

-----    类和对象

 类  :    具有相同属性和方法的一种对象的集合,

关系: 类是对象的抽象,对象是类的具体。

类是抽象的概念,仅仅是模板,比如:“人”

对象是一个可以看得到、摸得着的具体实体

 就像人有体重身高 行为有吃喝衣住,

而对于小明这个对象来说他有180 的身高130 的体重会吃苹果住在翻斗大街102栋

----   java是面向对象的语言

所有的java程序都是以类class为组织单元

关键字是class定义的自定义的数据类型

public class HelloWorld{
     public static void main(String[] args){
          System.out.println("你好帅");   
    }  
}

----   java 类的模板

定义类的步邹:

  1、定义类名   2、编写类的属性  3、编写类的方法

public class 类名{

  属性类型 属性1;

  方法1;

}

要遵循帕斯卡命名规则  类的第一个首字母要大写

属性也叫成员变量   方法也叫成员方法

----  类图

使用类图来描述类  

  工具: visio  rose

  目的: 为了分析和设计类

       好处 : 直观、容易理解

 

 

 ---- 创建和使用对象

使用对象的步邹:

  1、创建对象: 类名 对象名  =  new 类名();

  如: School school = new Shcool();

  2、引用对象成员:使用“ . ”  来进行操作

    引用类的属性:对象名. 属性

    引用类的方法: 对象名.方法名

school.name = "坡里中学";     // 给name 属性赋值
school.show();          // 调用show() 方法

-----  类的方法

方法性一个黑匣子,完成某个特定的应用程序功能,并返回结果

类的方法定义类的某种行为(或功能)

 

---- 方法 的返回值

如果方法具有返回值,方法中必须使用关键字return返回该值,返回值类型为该值的类型

返回值只能有一个,如果没有返回值,返回类型为void

在方法中使用return时 就以会跳出这个方法,如果有返回值只能返回一个值

没有返回值就不用了在使用返回值进行接收

------  方法调用

方法之间允许相互调用,不需要知道方法的具体实现,实现重用提高效率

 

-----  制作一个简单计算器

 1 public class Calc {
 2     public int getSum(int num1,int num2){
 3         return num1+num2;
 4     }
 5     
 6     
 7     public double getSum(double num1,double num2,double num3){
 8         return num1+num2+num3;
 9     }
10     
11     public static void main(String[] args) {
12         Calc calc=new Calc();
13         System.out.println(calc.getSum(67, 89));
14         System.out.println(calc.getSum(67, 89,78.4));
15     }
16 }

---  查找学员信息

 1 /**
 2  * 
 3  * 实现学生信息的管理 
 4  *
 5  */
 6 public class StudentsBiz {
 7     String[] names = new String[30];  // 学员姓名数组
 8     
 9     /**
10      * 增加学生姓名
11      * @param name要增加的姓名
12      */
13     public void addName(String name){
14         for(int i =0;i<names.length;i++){
15             if(names[i]==null){
16                 names[i]=name;
17                 break;
18             }
19         }
20     }
21     /**
22      * 显示本班的学生姓名
23      */
24     public void showNames(){
25         System.out.println("本班学生列表:");
26         for(int i =0;i<names.length;i++){
27             if(names[i]!=null){
28                 System.out.print(names[i]+"\t");
29             }
30         }
31         System.out.println();
32     }
33     
34     
35     /**
36      * 在一定区间查找学生姓名
37      * @param start 开始位置
38      * @param end 结束位置
39      * @param name 查找的姓名
40      * @return find 是否查找成功
41      */
42     public boolean searchName(int start,int end,String name){
43         boolean find = false;  // 是否找到标识
44         
45         // 指定区间数组中,查找姓名
46         for(int i=start-1;i<end;i++){
47             if(names[i].equals(name)){                
48                 find=true;
49                 break;
50             }
51         }
52         return find;
53     }
54 }
 1 import java.util.Scanner;
 2 
 3 public class TestSearch {
 4         /**
 5          * 调用带3个参数的方法
 6          */
 7         public static void main(String[] args) {
 8             StudentsBiz st = new StudentsBiz();
 9             Scanner input = new Scanner(System.in);
10             for(int i=0;i<5;i++){
11                 System.out.print("请输入学生姓名:");
12                 String newName = input.next();        
13                 st.addName(newName);
14             }        
15             st.showNames();                
16             System.out.print("\n请输入开始查找的位置:");
17             int s = input.nextInt();
18             System.out.print("请输入结束查找的位置:");
19             int e = input.nextInt();
20             System.out.print("请输入查找的姓名:");
21             String name = input.next();
22             System.out.println("\n*****查找结果*****");
23             if(st.searchName(s,e,name)){
24                 System.out.println("找到了!");
25             }
26             else{
27                 System.out.println("没找到该学生!");
28             }
29     }
30 }

猜你喜欢

转载自www.cnblogs.com/obge/p/10872855.html
今日推荐