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、除法

 

  

猜你喜欢

转载自www.cnblogs.com/chenxj/p/10254473.html