面向对象(重载、封装、继承、抽象)

一、方法重载:
1、两个函数同名,就互相构成方法的重载关系
2、重载的函数,必须跟其他函数之间具有不同的参数类型或参数个数
注意:“Ctrl+Shift+空格键”可以查看重载的方法

二、封装
1、类的字段:
类里面是可以直接定义变量的,这些变量就叫类的字段,也叫成员变量。
2、类的属性:
是一种特殊的字段,用来为其他字段传输数据,具备两个方法
3、封装字段的方法:
(1)通过在字段上右键点击“重构”“封装字段”“确定”实现
(2)
读访问器
get { return Name; }
写访问器
set {
if(value.Length<=3)
Name = value;
}

三、静态成员:(static)
不能通过类的对象进行操作,只能通过类名点出使用
静态成员不在造对象的数据类型规则模板范围之内

四、类与对象的区别:
类是一个用户自定义数据类型,是一个模板
对象就是一个根据模板造出来的变量
类与对象的关系是一对多的关系,类就一个,根据这个类可以造N个对象

五、类的构造函数:
构造函数是一个跟类名同名的,没有任何返回值的函数,
默认无返回值、无参数、无函数体,但是可以自己写重载
每个类都默认存在构造函数,至少有一个构造函数
构造函数是创建对象的时候类的入口
构造函数就是new 后面所调用的那个函数,它具备其他普通函数的所有功能
构造函数一用来进行初始化对象时候的类的成员变量的赋予初始值
以及类与类之间的数据传输

六、修饰符:
public 公共的,作用范围是整个命名空间(类库),以及引用了此命名空间的其他地方
private 私有的,只能作用于当前类
protected 受保护的,作用于当前类,以及子类

七、继承:
子类继承父类,通过在类后面加冒号来继承某个类
一旦形成继承关系后,子类的对象就能够使用父类中的公共属性和方法函数
子类能够转换成父类,但父类不一定能够转成子类
只有当父类对象是由某个子类对象转换来的时候,才能再把父类对象转换回去,
从哪个子类来的,就只能再转回那个子类去
直接通过父类的构造函数构建的对象, 不能转换为子类对象
当子类中重写了跟父类同名同参数的方法之后,
通过哪个类的对象点出来的方法,对应就是那个类里面的方法内容

重写的方法,如果在父类中加virtual 在子类中加override之后,
当从子类对象转换为父类类型的对象之后,通过父类对象调用的就是子类的方法

八、抽象:
1、抽象类:类名class前面加abstract
抽象类不能创建对象(实例),只能用作继承关系中的父类
其他用法和普通的类的继承用法相同
2、抽象方法:
只能写在抽象类当中
必须在子类当中通过override进行重写覆盖来实现方法内容
如果不实现,那么就默认这个子类也变成了一个抽象类,
必须再在其他地方去继承实现它才可以。
3、抽象属性,注意说的是属性,不是字段。
同抽象一样,需要去重写一下。

九、接口:
一个类只能继承一个父类,但一个类可以继承多个接口
接口不能创建自己的实例,接口中不能写字段、属性
接口里的方法不能有方法内容,必须要在子类里面去实现,
实现的时候要通过接口的名字点出方法来实现

时间: 2024-10-18 16:51:45

面向对象(重载、封装、继承、抽象)的相关文章

C#面向对象编程 封装 继承 多态

  C#面向对象编程 什么是面向对象? 面向对象编程是上个实际六十年代继面向结构编程之后提出的一个新的编程思想 封装,继承,多态 封装,继承,多态是面向对象编程的核心: 封装是实现面向对象程序设计的第一步,封装就是将数据或函数等集合在一个个的单元中(我们称之为类).被封装的对象通常被称为抽象数据类型 意义是:保护数据不被破坏(例如一台电视机我们能使用它但是不能随意改变内部的电路) 关键字:private,public,protected,internal Public string name;

面向对象之 封装 继承 多态

#!/usr/bin/env python # _*_ coding:utf-8 _*_ class Role(object): #继承object类 ac = None #脚本一执行跟着类一起存到了内存 类变量 #类变量和实例变量的区别: #类变量脚本执行跟着类一起存到了内存,不管是否调用都存在,实例变量是存在实例内的, def __init__(self,name,role,weapon): #初始化方法 实例化后自动执行 #self 代表实例本身.谁调用就是谁. name role,wea

面向对象之封装,继承,多态的理解

封装 1.什么是封装 封装(encapsulation)又叫隐藏实现(Hiding the implementation).就是只公开代码单元的对外接口,而隐藏其具体实现. 其实生活中处处都是封装,手机,电脑,电视这些都是封装.你只需要知道如何去操作他们,并不需要知道他们里面是怎么构造的,怎么实现这个功能的. 2.如何实现封装 在程序设计里,封装往往是通过访问控制实现的.C++,Java,AS3中都有 Public, Protected, Private 等访问控制符.通过用Public将信息暴

面向对象:封装继承和多态、接口

1.多态 定义:不同对象对于同一个方法(Cut)调用表现出不同行为多态性主要是靠重写和隐藏来实现 a.(父类引用指向子类对象)b.(父类类型做参数,传递子类对象)自定义方法参数是父类类型 传递的实参是子类对象c.(父类类型作返回类型,return子类对象)自定义方法的返回类型是父类类型,return是类对象注:都是把子类对象赋给父类类型 举例: 添加乐器类using System;using System.Collections.Generic;using System.Linq;using S

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

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

面向对象的三个特征:封装(抽象)、继承、多态

面向对象的三个特征:封装(抽象).继承.多态. 继承:一种代码重用的方式. 1.父类(基类,超类) 2.子类 1).子类在同一个包下面能够范文父类除了私有private修饰的所有属性和方法 2).在不同包下面,子类对象只能访问public修饰的属性和方法 3).在子类内部,如果不同包的情况下,可以访问protected修饰的属性和方法,但是不能访问默认的访问修饰符修饰的属性和方法 4).子类在初始化的时候会先调用父类的默认不带参数构造器,如果没有,就会报错,我们只有人为的修改: 1.将父类添加一

2、C#面向对象:封装、继承、多态、String、集合、文件(上)

面向对象封装 一.面向对象概念 面向过程:面向的是完成一件事情的过程,强调的是完成这件事情的动作. 面向对象:找个对象帮你完成这件事情. 二.面向对象封装 把方法进行封装,隐藏实现细节,外部直接调用. 打包,便于管理,为了解决大型项目的维护与管理. 三.什么是类? 将相同的属性和相同方法的对象进行封装,抽象出 “类”,用来确定对象具有的属性和方法. 类.对象关系:人是类,张三是人类的对象. 类是抽象的,对象是具体的.对象可以叫做类的实例,类是不站内存的,对象才占内存. 字段是类的状态,方法是类执

七:Java之封装、抽象、多态和继承

本文章介绍了关于Java中的面向对象封装.抽象.继承.多态特点 Java面向对象主要有四大特性:封装.抽象.继承和多态. 一.封装 封装就是将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成"类",其中数据和函数都是类的成员. 在面向对象语言中,封装特性是由类来体现的,我们将现实生活中的一类实体定义成类,其中包括属性和行为(在Java中就是方法),就好像人类,可以具有name,sex,age等属性,同时也具有eat(),sle

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

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

初识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("