面向对象(上):


    1, 什么是面向对象, 什么是面向过程 ?

     面向过程:凡事都亲力亲为;(创建一个类,在类里编写程序,实现功能,视为过程)   用程序编写如何实现一事件的过程; 由哪到哪  得写出如何走   理解为:我该怎么做。

     面向对象:一些事不用自己去做,也能完成; 由哪到哪  只写出走就行  理解为:我该找谁做

     面向过程的缺点:1.数据缺少对数据的封装,比较零散;每次用到相同 数据的时候,都需要重写,代码不能复用,可操作性差;
    2, 类, 对象, 成员变量(属性,静态属性), 成员方法(方法, 动态属性), 局部变量分别的含义 ?
    3, 面向对象的特点有什么 ?
        封装      继承      多态
           
    4, 如何在程序中创建一个对象 ?(首先要定义一个类)
        类体
            成员变量的作用范围(整个类)
      
        类和类之间的关系
            关联关系(不好下一个定义描述关联关系, 比较弱的关系)
            *继承关系(extends关键字)
                什么是一种什么
            聚合关系
                聚集
                    球队->队长
                组合
                    一个类的组成部分是必不可少的
            *实现关系
 
    5, 成员变量在类中是如何初始化的 ?

                      初始值
        byte        0
        short        0
        int        0
        long        0L
        float        0.0F
        double        0.0D
        boolean        false
        char        '/u0000'
        引用类型    null
        (所有的类, 所有的接口, 所有的数组)
    6, 如何更好的设计一个类 ?
        合适的方法出现在合适的类里面
    7, 什么是类的封装 ?
        private关键字修饰的成员变量, 只能在当前类中使用
    8, 什么叫构造方法 ? 构造方法的重载 ? // 方法名相同, 参数列表不同
        构造方法:
            就是用来构造一个对象的方法
            1, 构造方法没有返回值, 没有返回值也不能写void
            2, 构造方法名与类名一模一样
            3, 定义一个类的时候, 如果没有写任意的一个构造方法, 则默认生成一个空参的构造方法
            4, 当一个类中有定义的带参数的构造方法的时候, 则空参的构造方法会消失
        练习: 封装一个Student类
            姓名    String
            年龄    int
            语文分数    double
            数学分数    double
            方法: 显示姓名, 年龄, 总分, 平均分
            // 分别以set方法和构造方法赋值

package wei;

public class Duix {
	public Duix() {};
	
	public Duix(String _name,int _age,int _yuWen,int _shuXue){
		name = _name;
		age = _age;
		yuWen = _yuWen;
		shuXue = _shuXue;
	}	
	private String name;
	private int age;
	private int yuWen;
	private int shuXue;
	
	public int getYuWen() {
		return yuWen;
	}
	public void setYuWen(int _yuWen) {
		yuWen = _yuWen;
	}
	public int getShuXue() {
		return shuXue;
	}
	public void setShuXue(int _shuXue) {
		shuXue = _shuXue;
	}
	public String getName() {
		return name;
	}
	public void setName(String _name) {
		name = _name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int _age) {
		age = _age;
	}
	public void jS() {
		System.out.print(name + "  " + age + "  " + (yuWen + shuXue) + "  " + (yuWen + shuXue) / 2);
	}
	
}
public class Text {
	
	public static void main(String[] args) {
		/*Duix xx = new Duix();
		xx.setName("刘德华");
		xx.setShuXue(80);
		xx.setAge(8);		
		xx.setYuWen(70);
		
		System.out.print("姓名" + "  " +"年龄"+ "  " +"总成绩"+ "  " +"平均分");
		System.out.println();*/
		//xx.jS();
		
		Duix xx = new Duix("刘德华",8,80,70);
		xx.setName("刘德华2");
		xx.jS();
	}

}


          

 



  

猜你喜欢

转载自www.cnblogs.com/o728/p/8987032.html