zoukankan      html  css  js  c++  java
  • 2019-1-11 笔记、作业

    1、面向对象的三大特性:封装,继承、多态

    2、开发方法:

      A、结构化开发:

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

        b、自顶面下

        c、最小的子系统是方法

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

      B、面向对象开发

        a、把软件系统看成各种对象的集合

        b、系统结构软稳定

        c、子系统相对独立   

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

    3、万物皆对象

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

      对象的特征-----属性

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

      对象的行为-----方法

      类是一组相同属性和方法的对象的集合

      类是对象的抽象化,对象是类的具体化

      类是抽象的概念,仅仅是模板

    4、类的创建

      public class 类名{

        //定义属性部份

        属性1的类型 属性1;

        ...

        属性N的类型 属性N;

        //定义方法部份

        方法1;

        ...

        方法N;

      }

      如下示例:

      学校类:

    package com.java_2019_1_11;
    /**
     * 定义学校类
     * @author Administrator
     * 2019-1-11
     */
    public class School {
    	//学校名称
    	String name;
    	//学校地址
    	String address;
    	//学校人数
    	int studentNum;
    	
    	/**
    	 * 学校的教学方法
    	 */
    	public void teach() {
    		System.out.println("学校的教学方法!");
    	}
    	
    	public void showInfo() {
    		System.out.println("学校的名称:"+name+",学校的地址:"+address+",学校的人数:"+studentNum);
    	}
    }
    

      书本类:

    package com.java_2019_1_11;
    /**
     * 书本类
     * @author Administrator
     * 2019-1-11
     */
    public class Book {
    	String name;
    	String author;
    	double price;
    	
    	public void read() {
    		System.out.println("书名是:"+name);
    		System.out.println("作者是:"+author);
    		System.out.println("价格是:"+price);
    	}
    }

    5、使用对类

      使用对象的步骤:

      A、创建对象

        类名 对象名 = new 类名();

      如创建School对象:

        School sc = new School();

      B、引用对象成员:使用“.” 

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

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

      如引用School类的成员:

        //引用属性
        sc.name = "小小";
        sc.address = "厦门思明区";
        sc.studentNum = 56;
    		
        //引用方法
        sc.showInfo();	
    

      代码与结果示例:

    package com.java_2019_1_11;
    /**
     * 引用 School类的成员
     * @author Administrator
     * 2019-1-11
     */
    public class TestSchool {
    	public static void main(String[] args) {
    		School sc = new School();
    		//引用属性
    		sc.name = "小小";
    		sc.address = "厦门思明区";
    		sc.studentNum = 56;
    		
    		//引用方法
    		sc.showInfo();	
    	}	
    }
    

      

      创建多个对象:

    package com.java_2019_1_11;
    
    public class Person {
    	String name;
    	
    	public void eat() {
    		System.out.println(name+"正在吃饭中......");
    	}
    	
    	public void clean() {
    		System.out.println(name+"已经带着打扫工具去篮球场了");
    		System.out.println("你看"+name+"他正在打扫中.......");
    		System.out.println("OK!"+name+"打扫好了!!");
    	}
    	
    	public void buy() {
    		System.out.println(name+"骑自行车去小卖部了");
    		System.out.println("他应该是在买水去了");
    		System.out.println("你看"+name+"回来了!");
    	}
    }
    

      使用:

    package com.java_2019_1_11;
    
    public class TestPerson {
    	public static void main(String[] args) {
    		Person p1 = new Person();
    		p1.name = "小明";
    		p1.buy();
    		
    		Person p2 = new Person();
    		p2.name = "小陈";
    		p2.clean();
    		
    		Person p3 = new Person();
    		p3.name = "小张";
    		p3.eat();
    	}
    }
    

      结果:

    6、类的方法

      方法是个“黑匣子”,完成某个特定的应用程 功能,并返回结果

      类的方法定义类的某种行为

      public 返回值类型   方法名(){

        //方法主体

      }

      方法的要素:返回修饰符、返回值类型、方法名和方法主体

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

      返回值只能有一个

      如果方法没有返回值,返回值类型为void

     作业:

      1、做一个简易的+、-、*、/计算器

      +、-、*、/计算类如下:

    package com.java_2019_1_11;
    /**
     * +、-、*、/计算器
     * @author Administrator
     * 2019-1-11
     */
    public class Add {
    	double num1;
    	double num2;
    	double sum;
    	String fuhao;
    	
    	public double sumAdd(){
    		/**
    		 * 根据运算符判断所要进行的运算
    		 */
    		switch(fuhao) {
    		case "+":
    			sum = num1 + num2;
    			break;
    		case "-":
    			sum = num1 - num2;
    			break;
    		case "*":
    			sum = num1 * num2;
    			break;
    		case "/":
    			sum = num1 / num2;
    			break;
    		}
    		/**
    		 * 返回运算结果
    		 */
    		return sum;
    	}
    }
    

       主程序:

    package com.java_2019_1_11;
    
    import java.util.Scanner;
    /**
     * 输入运算符和两个操作数,输出运算结果
     * @author Administrator
     * 2019-1-11
     */
    public class TestAdd {
    	public static void main(String[] args) {
    		Scanner cxj = new Scanner(System.in);
    		Add add = new Add();
    		System.out.println("请输入您要做的运算:");
    		add.fuhao = cxj.next();
    		System.out.println("请输入您要运算的第一个数:");
    		add.num1 = cxj.nextDouble();
    		System.out.println("请输入您要运算的第二个数:");
    		add.num2 = cxj.nextDouble();
    		System.out.println("结果为:");
    		System.out.println(add.num1+add.fuhao+add.num2+"="+add.sumAdd());
    	}
    }
    

      结果示例:

      A、加法

      B、减法

      C、乘法

      D、除法

     

      

  • 相关阅读:
    POJ 1426 Find The Multiple(数论——中国同余定理)
    POJ 2253 Frogger(Dijkstra变形——最短路径最大权值)
    POJ 3790 最短路径问题(Dijkstra变形——最短路径双重最小权值)
    POJ 3278 Catch That Cow(模板——BFS)
    HDU 1071 The area
    HDU 1213 How Many Tables(模板——并查集)
    POJ 1611 The Suspects
    light oj 1214 Large Division
    POJ 1258 Agri-Net(Prim算法求解MST)
    POJ 2387 Til the Cows Come Home(模板——Dijkstra算法)
  • 原文地址:https://www.cnblogs.com/chenxj/p/10254473.html
Copyright © 2011-2022 走看看