JAVA(面向对象、封装、继承、多态)

本节要点:1.面向对象

2.封装

3.继承

4.类和方法

对象
对象是由数据(描述事物的属性)和作用于数据的操作(体现事物的行为)组成的封装体,描述客观事物的一个实体,是构成系统的基本单元。

class Dogs{
    private String name;  //名字
    private String age;   //年龄
    
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }
}


类是对一组有相同数据和相同操作的对象的定义,是对象的模板,其包含的方法和数据描述一组对象的共同行为和属性。类是在对象之上的抽象,对象则是类的具体化,是类的实例。类可有其子类,也可有其他类,形成类层次结构

继承

继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。通过使用继承我们能够非常方便地复用以前的代码,能够大大的提高开发的效率。

 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。

#include <iostream>
using namespace std;
 
class Test
{
public:
	Test()
	{
		cout<<"Test::Test()"<<endl;
	}
private:
	int mc;
};
 
class Base
{
public:
	Base(int a)
	{
		ma = a;
		cout<<"Base::base()"<<endl;
	}
	~Base()
	{
		cout<<"Base::~base()"<<endl;
	}
private:
	int ma;
	Test t;
};
 
class Derive : public Base
{
public:
	Derive(int b):Base(b)
	{
		mb = b;
		cout<<"Derive::derive()"<<endl;
	}
	~Derive()
	{
		cout<<"Derive::~derive()"<<endl;
	}
private:
	int mb;
};
 
int main()
{
	Derive d(2);
	 
	return 0;
}

封装
封装(encapsulation)即信息隐蔽。它是指在确定系统的某一部分内容时,应考虑到其它部分的信息及联系都在这一部分的内部进行,外部各部分之间的信息联系应尽可能的少。

public class A{
    private int age;
 
    
    //提供一个返回年龄的方法
    public int getAge(){
        return age;
    }
 
    //提供一个处理年龄误差的方法
    public void setAge(int age){
        if(age<80){
            age=18;
        }else{
            this.age = age;
        }
    }
}
 
 
public static void main(String[] args){
 
    A a = new A;
    a.getAge(81);
    system.uot.println(a.setAge);

方法

是完成某个功能的一组语句,通常将某个功能写成一个方法

定义方法就是编写有特定功能的一段代码,在程序中使用同样功能的地方可以调用定义好的方法,实现代码的重用

方法声明或称为定义方法

public class Demo01 {
	public static void main(String[] args) {
		
		//实际参数:实际调用传递给他的参数
		int sum = add(1, 2); //调用add方法
		System.out.println(sum);
		
		int max = max(20, 50); //调用max方法
		System.out.println(max);
	}
	
	//形参:用来定义作用的
	public static int add(int a, int b) {
		return a+b;
		
	}
	
	//比大小
	public static int max(int num1, int num2) {
		
		int result = 0;
		
		if (num1 == num2) {
			System.out.println("num1==num2");
			return 0; //return可以终止方法
		}
		
		if (num1 > num2) {
			result = num1;
		}else {
			result = num2;
		}
		
		return result;
	}
}

猜你喜欢

转载自blog.csdn.net/WJY898989/article/details/127835514