封装、继承、重写、抽象类

1.封装:是为了隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的权限(定义)。

封装器:

private double a  //ctrl+r,e  回车,回车 自动生成下面代码
    public double A
{
        get { return price; }
        set { price = value; }                           两种封装器的差别在属性的名称上,
}                                                               如果名称首字母为小写,在封装器中则大写
                                                                如果名称首字母为大写,在封装器中则在首字母前加”_“。
或
    private double A  //ctrl+r,e  回车,回车  自动生成下面代码
    public double _A
{
        get {return price;}
        set{price = value;}
}

2.继承:一个类只能继承一个普通类,但可以继承多个对象(接口、抽象类等)继承父类中所有非私有成员

单根性、传递性、安全性。

public class a

{

}

public class b:a,c                          //a为被继承的普通类,c为其他对象,如果有多个再用逗号分隔。

base:

继承父类的构造函数,一个子类中的构造函数只能出现一次base,需定义合适的构造函数才能

调用或在多个子类中的构造函数中调用。

public class fu{
    publice cz(int _a,string _b)
  {
    this.a=_a;
    this.b=_b;
  }
}

public class zi : fu{
    public cz(double _c)
       :base(_a,_b)
  {
    this.c=_c
  }
}
 

3.重写:发生在继承关系之上,重写是重写父类中的虚方法或已被重写过的方法。

关键字: override                           |       关键字:overload

|

用法:                                               |       重载,同一类中的方法名相同参数列表不同的的方法称为重载。

public class fu{                                 |
    publice virtual string a() //虚方法 |
  {
  }
}

public class zi{
    public override string a()
  {
        //重写fu类中的a方法
  }
}

4.抽象类

abstract class a()

{

//不能被实例化

//只能让普通类实现方法

}

定义抽象方法:

public        abstract            void         meth();

访问修饰符  定义抽象方法   返回值类型   方法名       注意没有大括号,即没有方法体(不用实现方法)。

抽象类可以被继承,如果被普通类继承则需要实现其未实现的方法,被抽象类继承不一定要实现未实现的方法。

抽象方法只能写在抽象类中,普通方法可以写在普通类和抽象类中。

 public abstract class couxianglei  //定义抽象类
    {
        public abstract void fangfa();   //定义抽象方法
    }

    public class jutilei : couxianglei
    {
        public override void fangfa()   //继承抽象方法
        {
            Console.WriteLine("实现了抽象方法");
        }

    }
 
时间: 2024-10-26 00:16:15

封装、继承、重写、抽象类的相关文章

php面向对象 封装继承多态 接口、重载、抽象类、最终类总结

1.面向对象 封装继承多态  接口.重载.抽象类.最终类 面向对象 封装继承多态  首先,在解释面向对象之前先解释下什么是面向对象? [面向对象]1.什么是类? 具有相同属性(特征)和方法(行为)的一系列个体的集合,类是一个抽象的概念2.什么是对象?从类中拿到的具有具体属性值得个体,称为对象,对象是一个具体的个体 所以,面向对象即我们专注对象来处理问题,通过从一个个具有属性和功能的类中拿到对象来处理问题. 下面我们再来细说下面向对象的三大特征:继承/封装/多态 一.继承 在PHP中我们主要通关E

初识JAVA(【面向对象】:pub/fri/pro/pri、封装/继承/多态、接口/抽象类、静态方法和抽象方法;泛型、垃圾回收机制、反射和RTTI)

JAVA特点: 语法简单,学习容易 功能强大,适合各种应用开发:J2SE/J2ME/J2EE 面向对象,易扩展,易维护 容错机制好,在内存不够时仍能不崩溃.不死机 强大的网络应用功能 跨平台:JVM,字节码 两个命令: javac helloworld.java:将Java文件编译为字节码的.class文件 java helloworld:运行Java程序...??暂时这么认为 数据类型: 普通数据类型:int a=3; 对象数据类型:使用关键字new,String s=new String("

类的继承,抽象类,接口,方法重写和重载

类的继承 C#与java:1.C#中继承用“:”,Java中继承用extends2.重写父类的方法,C#中需要关键字override,Java中不需要3.C#中调用父类的成员用base,Java中使用super4.子类的构造方法中如果没有显示的调用父类的构造方法,   编译器会自动在第一行代码添加super() 抽象类: 1.含有抽象方法的类必须是抽象类,抽象类中不一定有抽象方法2.抽象类的子类如果是抽象类,可以不需要重写父类的抽象方法3.抽象类不能被实例化,构造方法和静态方法不能是抽象的 接口

JavaSE8基础 子类必须重写所继承的抽象类中所有抽象方法

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        代码: //抽象类中可以有 普通的成员方法 abstract class Person { //非抽象方法 public void sayHello(){ } //抽象方法 public abstract void study(); public abstract void play(); } class Javae

(1) 深入理解Java面向对象三大特性 封装 继承 多态

转眼已经工作快6年了,最开始做了2年J2EE:然后整了2年的数据仓库,主要是Cognos的报表开发:现在从事4G LTE核心网的开发,用的语言任然是Java,但写代码的机会不多,基本都是看代码找BUG,偶尔做点new feature也是在比较成熟的框架上复制.粘贴.修改,大部分时间还是在理解业务,钱多.事少.离家近,当时来这家公司图的是后面2点,2年过去了,英文水平有所提升,对敏捷开放也有一定的了解,但技术方面明显退步了或者说没有进步吧,本来以前也不怎么好,因为工作上用不到,自己也没怎么学习,所

JAVA基础笔记(很实用)继承-多态-抽象类-接口-异常-集合-IO-线程-Socket

第七章:Java继承 一.继承的概念 1.一个父类派生出一个子类的机制称为继承. 2.承是重用程序代码的有力手段,当多个类之间存在相同的属性和方法时,可以从这些类中抽象出父类. 3.们只需要在父类中定义这些属性和方法,而子类无须重新定义这些属性和方法,直接从父类继承即可. 4.通过继承,子类就会自动的拥有在父类中定义的属性和方法. 5.两个或多个类的成员中存在一部分相同的情况,通过继承机制,可以利用现有的类来创建新的类. 6.子类不但拥有父类的成员,还可以定义新的成员. 7.可以提高软件的可重用

OOP三大核心封装继承多态

OOP支柱 3 个核心:封装 继承 多态 封装就是将实现细节隐藏起来,也起到了数据保护的作用. 继承就是基于已有类来创建新类可以继承基类的核心功能. 在继承中 另外一种代码重用是:包含/委托,这种重用不是父子类的继承关系,而是一个类定义为另一个类的成员变量. 一个简单的例子,汽车和收音机,汽车里面有一个收音机,不能说继承,不符合逻辑,只能说是一种对象包含了另一个对象.汽车对象中调用了收音机对象中的方法. 多态就是同一请求,不同的响应操作. 多态 同一种方式处理相关对象的能力. 相同的请求操作不同

继承,抽象类,接口

继承,抽象类,接口 Java面向对象的三大特性:封装性.继承性.多态性 说一说继承性 我学到继承性之后虽然都了解继承性当中的继承.抽纸类.接口的具体使用方法及特点,但是对概念还是不够深刻,不理解他们之间的联系意义.然后查了好多资料,在这写下我的感悟 继承 为什么有这个继承呢,主要优点在于: 功能复用 便于扩展新功能 结构清晰.简化认识 易维护性 所以关于继承最核心的还是在于:父类中存放的是子类的共性,这里的共性指的是共同属性和共同方法.父类抽取共性,子类继承共性,子类可以拥有个性. 举个例子 p

07.28 关键字 继承 重写 知识点梳理

static关键字被static修饰的成员变量和成员方法独立于该类的任何对象,它不依赖类特定的实例,被类的所有实例共享. 当创建对象后,成员变量是存储在堆中的,而static成员变量和类的信息一起存储在方法区, 而不是在堆中.static修饰的成员变量和成员方法习惯上称为静态变量和静态方法,可以直接通过类名来访问访问方式: 类名.类变量 或者 实例名.类变量double c = Math.sqrt(3.0 * 3.0 + 4.0 * 4.0); super关键字super必须是子类构造方法的第一

面向对象:继承、抽象类、抽象方法、虚方法

1.继承什么是继承?目的:代码重用public class 子类:父类{ }父类 基类 被继承的类子类 派生类 需要继承的类 父类构造函数的继承创建子类对象时,先调用父类构造函数,再调用子类构造函数默认调用父类无参构造函数如果子类有无参构造函数,要求父类也有无参构造函数如果调用父类的有参构造函数,显式用base调用 public 子类(参数列表)base(实参)实参:要调用的父类的有参构造函数的参数列表{} base:父类对象(父类实例) 2.抽象abstract 抽象方法:访问修饰符 abst