类与对象(封装、继承、多态、接口)

一、封装

1)定义:隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别。
2)封装的目的是:增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,一特定的访问权限来使用类的成员。

 就像现在在用电脑或手机看这篇文章,你使用电脑或手机的时候并不需要理解电脑或手机内部是怎么样构成的,你只需要对点开浏览就可以了。

二、继承

1、

继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。

java中使用extends 关键字表示继承,如下:

class 父类 {}

class 子类 extends 父类{ }



2、

重写:表示子类中的方法名、返回值、参数列表和父类当中的方法是一模一样(子类继承了父类的所有方法,包括父类中的方法。子类可以直接使用父类的方法,也可以重写父类的方法来实现自己的功能。在子类中可以通过super关键字来调用父类的方法。)

三、多态

多态是面向对象程序设计中的一个重要概念,指的是同一个方法调用可以根据对象的不同而表现出不同的行为。简单来说,多态就是通过子类重写父类的方法,实现对同一方法的不同实现。

引用数据类型:

(1)向上转型:父类引用指向子类对象,属于自动类型转换。

父类类型  变量名 =  子类对象;

(2)向下转型:子类引用指向父类对象。属于强制类型转换。

子类类型  变量名  =  (子类类型)父类对象;

四、抽象类

所谓接口就是对操作规范的说明。接口只是说明操作应该做什么( What),但没有定义操作如何做( How)。接口可以理解成为类的一个特例,它只规定实现此接口的类的操作方法,而把真正的实现细节交由实现该接口的类去完成。


接口在面向对象分析和设计过程中起到了至关重要的桥梁作用,系统分析员通常先把有待实现的功能封装并定义成接口,而后期程序员依据此接口进行编码实现。

定义接口用interface修饰:

interface 接口名[ extends 父接口 1,父接口 2,···]{

//常量定义

//方法定义

}

接口的继承:

// 定义一个父接口
interface Animal {
    void eat();
    void sleep();
}

// 定义一个子接口,继承自父接口,并添加了一个新方法
interface Dog extends Animal {
    void bark();
}

// 实现子接口
class Labrador implements Dog {

    @Override
    public void eat() {
        System.out.println("Labrador is eating");
    }

    @Override
    public void sleep() {
        System.out.println("Labrador is sleeping");
    }

    @Override
    public void bark() {
        System.out.println("Labrador is barking");
    }
}

public class InterfaceInheritanceExample {

    public static void main(String[] args) {
        Labrador labrador = new Labrador();
        labrador.eat(); // 输出:Labrador is eating
        labrador.sleep(); // 输出:Labrador is sleeping
        labrador.bark(); // 输出:Labrador is barking
    }
}
 

 

抽象类与接口的区别:

1、接口是行为的抽象,是一种行为的规范,接口是like a 的关系;抽象是对类的抽象,是一种模板设计,抽象类是is a 的关系。
2、接口没有构造方法,而抽象类有构造方法,其方法一般给子类使用
3、接口只有定义,不能有方法的实现,java 1.8中可以定义default方法体,而抽象类可以有定义与实现,方法可在抽象类中实现。
4、抽象体现出了继承关系,继承只能单继承。接口提现出来了实现的关系,实现可以多实现。接口强调特定功能的实现,而抽象类强调所属关系。

面向对象编程(Object-Oriented Programming,简称OOP)是一种编程思想,它通过将数据和操作数据的方法组织在一起,以对象的形式来描述现实世界中的事物。面向对象编程的四个基本概念是封装继承多态接口。 1. 封装(Encapsulation):封装是将数据和操作数据的方法封装在一起,形成一个独立的实体。这样可以隐藏内部的实现细节,只暴露对外提供的接口,提高代码的可维护性和重用性。通过封装,对象对外部只暴露必要的信息,同时可以对内部实现进行修改,而不会影响外部的使用。 2. 继承(Inheritance):继承是指一个(子)可以从另一个(父继承属性和方法。子可以复用父的代码,并且可以在其基础上进行扩展或修改。继承可以实现代码的重用,同时也能够建立之间的关系,形成的层次结构。 3. 多态(Polymorphism):多态是指同一个方法可以根据不同的对象产生不同的行为。多态通过继承和方法重写来实现,可以提高代码的灵活性和可扩展性。通过多态,可以在不改变方法的情况下,根据对象的实际型来动态调用不同的方法实现。 4. 接口(Interface):接口定义了一组方法的规范,实现了接口必须实现接口中定义的方法。接口可以用来实现之间的解耦和增加代码的可扩展性。通过接口,可以定义之间的约定,使得不同的可以进行交互和通信。 这些概念是面向对象编程的基础,它们可以帮助开发者组织和管理复杂的代码,提高代码的可读性、可维护性和可扩展性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值