一、封装

目的保护类,让类更加安全。

做法:让类里面的成员变量变为私有(即访问修饰符)的,做相应的方法或者属性去间接的操作成员变量

※访问修饰符

private 私有的              只能在该类中访问

protected 受保护的       只能在该类和它的子类中访问

public 公有的                在任何地方都可以访问

封装成员方法来间接操作类里面的成员变量

例:

 View Code
 View Code

△使用成员属性来间接访问类里面的成员变量

  定义变量的时候最好用_下划线开头

  选中要做的成员变量右键→重构→封装字段(ctrl+r,e)

自动生成的代码不是成员变量也不是成员方法  是成员属性

造好之后可以通过成员属性操作成员变量

例:

 View Code
 View Code

构造方法(函数):

作用:造对象所要调用的方法,用来创建对象

      每一个类都有一个构造方法,不写也有只不过看不到而已

特殊性:写法特殊 (方法名=类名;没有返回值)

      执行时间特殊(创建对象时执行)

用途:可以对成员进行初始化

举个例子:

 View Code
 View Code

举个栗子使用面向对象来求两个圆之间的面积

 View Code

函数重载

函数重载需要的条件:函数名要相同,参数的个数或者参数的类型不同

this关键字:

虽然写在类里面,但不是属于类的,而是属于该对象的

一般来说在类里面 this关键字是可以省略的,但是如果有一个方法形参名字和成员名字重复,这时候再调用该对象里面的成员的时候需要加this关键字

is关键字: 判断变量是不是属于某个类型

例:if (y2 is Ren)   

{     

s = "是一个人";   

}   

else   

{     

s = "不是一个人";   

}

as关键字: 转换类型(只能转换兼容类型,可以将子类对象转换为父类对象)

二、继承

子类可以继承父类的一切

特点:单继承   一个子类只能有一个父类  一个父类可以有多个子类

C#特殊点:所有类的祖先都是object

base关键字:在子类中代表父类对象,用法和this关键字相同       

如果父类有构造方法,那么子类也要有构造方法,如果父类构造需要参数,那么子类构造也必须有相应的参数。       

子类构造后面可以通过base调用父类的构造方法       

public China(string m):base(m) {}

 View Code

sealed关键字

密封类 该类不可以被继承

sealed class 类名

{

}

部分类:partial

可以将一个类拆分成多个部分,分别放在多个文件内

调用需要namespace相同,或用use引用

namespace 命名空间 相当于虚拟文件夹

partial class 类名   //拆分的类均加partial

{

}

三、多态

1.编译多态

函数重载

2.运行多态

概念:当父类引用指向子类实例的时候,由于子类对父类的方法进行了重写,在调用该方法的时候表现出的不同就称为多态

条件:必须要有继承  父类引用指向子类实例  子类必须对父类的方法进重写

里氏代换原则:如果有一个地方需要使用到父类对象,那么你可以将一个子类对象给他

 View Code

转载于:https://www.cnblogs.com/zhangwei99com/p/6751836.html

面向对象——三大特性(封装、继承、多态)相关推荐

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

    1.封装 封装的定义: 首先是抽象,把事物抽象成一个类,其次才是封装,将事物拥有的属性和动作隐藏起来,只保留特定的方法与外界联系 为什么需要封装: 封装符合面向对象设计原则的第一条:单一性原则,一个类 ...

  2. Java面向对象三大特性(封装继承多态)解释及案例

    文章目录 包 包基本语法 命名规则 命名规范 导入包实例 访问修饰符 面向对象编程-封装 面向对象编程-继承 super关键词 super和this的比较 方法重写/覆盖 (override) 注意事 ...

  3. Day55-每日一道Java面试题-Java 面向对象编程三大特性: 封装 继承 多态

    Java 面向对象编程三大特性: 封装 继承 多态 封装 封装把一个对象的属性私有化,同时提供一些可以被外界访问的属性的方法,如果属性不想被外界访问,我们大可不必提供方法给外界访问.但是如果一个类没有 ...

  4. Java面向对象三大特性之继承多态的预习笔记,are you ready? 面对疾风吧!

    文章目录 继承(extends) super关键字 方法重写 instanceof关键字 abstract关键字 接口(interface) 多态 继承(extends) AextendsB A继承了 ...

  5. Python OOP:面向对象三大特性(封装、继承、多态)、类属性和实例属性、类方法@classmethod、静态方法@staticmethod、函数和类callable、__call__

    一.面向对象三大特性 二.多态 定义:多态是⼀种使⽤对象的⽅式,⼦类重写⽗类⽅法,调⽤不同⼦类对象的相同⽗类⽅法,可以产⽣不同的执⾏结果. 一个父类,可以继承给多个子类,每个不同的子类可以创建多个对象 ...

  6. python多态的三种表现形式_python小结----面向对象的三大特征(封装,继承,多态)

    面向对象的三大特征: 封装,继承,多态 面向对象的编程思想核心:高类聚,低耦合–程序的设计模式范畴 封装 什么是封装: 在面向对象编程的思想中,对代码进行高度封装,封装又叫包装 封装就是指将数据或者函 ...

  7. 大数据必学Java基础(四十):面向对象三大特性之一继承(Inheritance)

    文章目录 面向对象三大特性之一继承(Inheritance) 一.列举案例说明 1.类是对对象的抽象

  8. java 面向对象多态_乐字节Java面向对象三大特性以及Java多态

    ​ 以上就是本次学习的6大任务.我们依次来看. 1 Object类 Object类是所有Java类的根基类. 如果在类的声明中未使用extends关键字指明其基类,则默认基类为Object类. cla ...

  9. java 面向对象三大特性之继承 万字详解(超详细)

    目录 前言 : 一.为什么需要继承: 二.什么是继承(Warning : 篇幅较长)? 1.继承概述: 2.子类继承父类之后达到的效果 : ①如何使用继承? ②代码演示 : 3.继承的使用场景: eg ...

  10. C++面向对象三大特性——封装与信息隐蔽

    4.1 封装(实现手段--class) 有意义的事物都可以抽象.在抽象类的时候不要想着代码是怎么实现,而是用自然语言去分析逻辑即可!否则极易出错. 4.1.1 封装的意义 封装是C++面向对象三大特性 ...

最新文章

  1. 混合云存储开启企业上云新路径--阿里云混合云备份容灾方案发布
  2. linux磁盘同步函数,Linux系统调用fsync函数详解
  3. 第五章 Mininet常用命令参数介绍
  4. oracle的function的语法,Oracle function语法
  5. MySQL InnoDB Engine--数据预热
  6. php自动关闭页面代码,HTML_下载完成后页面不自动关闭的方法,下载完成后页面不自动关闭的 - phpStudy...
  7. windows下如何编译 leveldb 1.5最新版
  8. Persistent Data Structures(可持久化的数据结构)
  9. 包含头文件的问题之1.7编程基础之字符串 24:单词的长度
  10. SVDchapter14 机器学习之利用SVD简化数据
  11. Centos下更新php
  12. 常用连接Linux的SSH工具、SFTP工具
  13. 读《PROSOSPEECH: ENHANCING PROSODY WITH QUANTIZED VECTOR PRE-TRAINING IN TEXT-TO-SPEECH》
  14. LM2596电路简析
  15. 几种微弱信号处理电路
  16. GEE实战4:利用GEE获取进行气温空间随机采样【随机采样】
  17. Power BI DAX: DAX生成日历表
  18. 【开学了】整理各种常用功能的实现 | 小游戏源码分享
  19. Python直男作死篇:生日蛋糕小游戏
  20. 关于maya修改浏览器问题

热门文章

  1. ko.js循环绑定值问题(工作遇见)
  2. 彻底剖析C# 2.0泛型类的创建和使用
  3. gulp错误GulpUglifyError: unable to minify JavaScript解决
  4. [zt] HTTP 协议及其POST与GET操作差异 C#中如何使用POST、GET等
  5. c语言写一元一次函数图像,一元一次函数练习题带答案.doc
  6. mysql复制表原理_MySQL 主从复制原理与实践详解
  7. html中展开的小箭头,HTML5 移动网页应用中的展开式标签(带上下指示箭头)
  8. vue 第二天(常用指令及插值语法)
  9. android 5.0 qq状态栏颜色,Android 沉浸式状态栏(QQ5.0透明状态栏的效果)
  10. Java I/O系统之Object流