封装、继承、多态三大特性

本文详细探讨了C#中的封装、继承和多态三大特性。封装强调了良好的代码组织和保护数据的重要性,继承允许子类继承父类的属性和方法,并能扩展新的功能。在继承中,构造器、protected关键字、向上转型和谨慎继承是关键概念。多态则提供了在运行时选择不同类实现的能力,包括编译时和运行时多态。实现多态需要继承、重写和向上转型,可以基于继承或接口来实现。通过经典实例分析,解释了多态调用方法的优先级和实际执行情况。
摘要由CSDN通过智能技术生成

一、封装

封装是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系。
系统的其他对象只能通过包裹在数据外面的已经授权的操作来与这个封装的对象进行交流和交互。也就是说用户是无需知道对象内部的细节,但可以通过该对象对外的提供的接口来访问该对象。
对于封装而言,一个对象它所封装的是自己的属性和方法,所以它是不需要依赖其他对象就可以完成自己的操作。使用封装有三大好处

1、良好的封装能够减少耦合。
2、类内部的结构可以自由修改。
3、可以对成员进行更精确的控制。
封装把一个对象的属性私有化,同时提供一些可以被外界访问的属性的方法,set()、get()是该对象对外开发的接口 。



public class Husband {
     
      
    /* 
     * 对属性的封装 
     * 一个人的姓名、性别、年龄、妻子都是这个人的私有属性 
     */  
    private String name ;  
    private String sex ;  
    private int age ;  
    private Wife wife;  
      
    /* 
     * setter()、getter()是该对象对外开发的接口 
     */  
    public String getName() {
     
        return name;  
    }  
  
    public void setName(String name) {
     
        this.name = name;  
    }  
  
    public String getSex() {
     
        return sex;  
    }  
  
    public void setSex(String sex) {
     
        this.sex = sex;  
    }  
  
    public int getAge() {
     
        return age;  
    }  
  
    public void setAge(int age) {
     
        this.age = age;  
    }  
  
    public void setWife(Wife wife) {
     
        this.wife = wife;  
    }  
}  
封装可以使我们容易地修改类的内部实现,而无需修改使用了该类的客户代码。
就可以对成员变量进行更精确的控制。
 public void setAge(int age) {
     
2.     if(age > 120){
     
3.         System.out.println("ERROR:error age input....");
封装继承多态是面向对象编程中的三个重要概念。 封装是指将数据和对数据的操作封装在一个类中,通过访问修饰符来控制对数据的访问权限。这样可以隐藏内部实现细节,提高代码的安全性和可维护性。\[2\] 继承是指一个类可以继承另一个类的属性和方法。通过继承,子类可以重用父类的代码,并且可以在子类中添加新的属性和方法。这样可以提高代码的复用性和可扩展性。\[2\] 多态是指同一个方法在不同的对象上可以有不同的行为。通过多态,可以实现方法的重写和重载,使得程序可以根据对象的实际类型来调用相应的方法。这样可以提高代码的灵活性和可扩展性。\[1\] 总结起来,封装继承多态是面向对象编程的三个基本特性,它们可以使代码更加模块化、可维护和可扩展。 #### 引用[.reference_title] - *1* *2* [封装继承多态](https://blog.csdn.net/yahid/article/details/125665027)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [C++ 类的封装继承多态](https://blog.csdn.net/secondtonone1/article/details/124485035)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值