一、面向对象(OOP)
面向过程
面向过程就是分析出解决问题的所需要的步骤,然后每个步骤使用函数实现,使用时将函数依次调用即可
C语言
面向对象
对象:生活中真实存在的事物(电脑、手机、草、树......)
面向对象是把构成问题的事物分解成各个对象,建立对象的目的不是完成步骤,而是为了描述某个对象在整个解决问题的步骤中的行为(功能)
c# java
洗衣服:
面向过程:
1、打开洗衣机盖子
2、把衣服放进去
3、导入洗衣粉
4、点击开始
5、晾衣服
6.....
面向对象:
衣服(被洗)、洗衣机(洗)、洗衣粉(去渍)
汽车:
面向过程:
1、如何启动
2、如何加速
3、如何刹车
面向对象:
1、关系是否有启动、加速、刹车等功能
区别:
面向过程:看重的每个步骤的具体实现,更注重细节
面向对象:看中对象有什么功能,不关系每个功能的具体实现
二、面向对象的特征
封装、继承、多态、抽象
三、类和对象
类:类型,人类,电脑类,飞机类,汽车类,动物类.....
人类:
特点:两手两脚、一个脑袋、一对眼睛、能走、能吃、能睡、能学习、能工作....
凡是具备以上特点的事物,就可以称为人类,而那个事物就是编程中的对象,比如:你们
对象:有属性和行为的事物称为对象
类:具有相同属性和行为的事物的集合称为类
问题:类是一个具体的事物吗?不是,类只是一个抽象的概念
类的体现是对象
类是对象的抽象,对象是类的具体
当一个类不足以描述一个对象时,该类是抽象类,比如:图形
问题:类是对象的模板吗?是,比如:模具
面向对象的主要特点,设计:类
四、类的定义
修饰符 class 类名
{
类成员:属性和方法
}
修饰符:
public:公共的,访问没有权限限制
internal:内部的,自己所在的程序集可以访问
注意:当我们没有显示的指定修饰符,默认internal
属性:变量、常量
方法:
访问修饰符 返回类型 方法名(参数列表)
{

}
实例化对象:
类名 对象名 = new 类名();
对象名.属性;
对象名.方法();
成员变量和成员方法的修饰符:
public:公共的,访问没有限制
internal:内部的,自己所在的程序集可以访问
protected:受保护的,自己所在的类和其子类能访问(继承)
private:私有的,自己能访问
注意:
如果不显示声明修饰符,默认private
权限大小:public > internal > protected > private
通常:类使用public、成员变量使用private、成员方法使用public
命名规范:
1、类名大写开头
2、类中成员变量小写开头
3、类中方法名大小开头
五、封装
生活中:快递、电脑、空调....看不到内部的具体实现,对外提供接口、按钮,用户不关心内部的具体实现,知道怎么用就行
程序中:成员变量使用private修饰,提供属性声明
属性声明:
修饰符 数据类型 属性名
{
get{return 属性}
set{属性=value}
}
通常是提供给外界类使用,常常使用public修饰
为了安全性

C#面向对象(1)的更多相关文章

  1. angular2系列教程(六)两种pipe:函数式编程与面向对象编程

    今天,我们要讲的是angualr2的pipe这个知识点. 例子

  2. 一起学 Java(二)面向对象

    一.方法函数 函数也称为方法,就是定义在类中的具有特定功能的一段独立代码.用于定义功能,提高代码的复用性. 函数的特点1> 定义函数可以将功能代码进行封装,便于对该功能进行复用:2> 函数 ...

  3. js面向对象学习 - 对象概念及创建对象

    原文地址:js面向对象学习笔记 一.对象概念 对象是什么?对象是“无序属性的集合,其属性可以包括基本值,对象或者函数”.也就是一组名值对的无序集合. 对象的特性(不可直接访问),也就是属性包含两种,数 ...

  4. 前端开发:面向对象与javascript中的面向对象实现(二)构造函数与原型

    前端开发:面向对象与javascript中的面向对象实现(二)构造函数与原型 前言(题外话): 有人说拖延症是一个绝症,哎呀治不好了.先不说这是一个每个人都多多少少会有的,也不管它究竟对生活有多么大的 ...

  5. .NET 基础 一步步 一幕幕[面向对象之对象和类]

    对象和类 本篇正式进入面向对象的知识点简述: 何为对象,佛曰:一花一世界,一木一浮生,一草一天堂,一叶一如来,一砂一极乐,一方一净土,一笑一尘缘,一念一清静.可见"万物皆对象". ...

  6. 简单分析JavaScript中的面向对象

    初学JavaScript的时候有人会认为JavaScript不是一门面向对象的语言,因为JS是没有类的概念的,但是这并不代表JavaScript没有对象的存在,而且JavaScript也提供了其它的方 ...

  7. Java程序员应该了解的10个面向对象设计原则

    面向对象设计原则: 是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton.Decorat ...

  8. JavaScript学习笔记(三)——this、原型、javascript面向对象

    一.this 在JavaScript中this表示:谁调用它,this就是谁. JavaScript是由对象组成的,一切皆为对象,万物皆为对象.this是一个动态的对象,根据调用的对象不同而发生变化, ...

  9. 带你一分钟理解闭包--js面向对象编程

    上一篇<简单粗暴地理解js原型链--js面向对象编程>没想到能攒到这么多赞,实属意外.分享是个好事情,尤其是分享自己的学习感悟.所以网上关于原型链.闭包.作用域等文章多如牛毛,很多文章写得 ...

  10. .NET基础拾遗(2)面向对象的实现和异常的处理基础

    Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理基础 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开 ...

随机推荐

  1. 搞定! iTunes 不能添加铃声进去

    最近换个新铃声,但转换成.m4r 怎么都拖不到铃声里很莫名奇妙,首先确定苹果是允许自己定义铃声的,然后网上查了不少文章,都无济于事所以我想自己记录下自己成功搞定的方法,供各位参考第一步: 把自己想转为 ...

  2. Arduino入门笔记(6):温度传感器及感温杯实验

    转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 一.本次实验所需器材 1.Arduino板 :https://item.taob ...

  3. Android Studio Run项目出现Failure [INSTALL_FAILED_TEST_ONLY]

    同名掘金博文:https://juejin.im/post/5c2e0c496fb9a049a711f09a 运行环境: AS 版 本:Android Studio 3.2.1 手机型号:vivo Y ...

  4. 基于Servlet+jsp的web计算器

    基于Servlet+jsp的web计算器 这次老大为了让我们自己复习web中页面的跳转给布置得任务 天下代码一大抄,关键看你怎么抄 首先我想到的计算算法不是什么堆栈,是简单的(其实很复杂,但是我就只需 ...

  5. arcgis api 4.x for js 离线部署

    在我的GIS之家群里,经常遇到 webgis 开发新手们提问 arcgis api for js 如何本地离线部署,而不是直接调用在线的,因为在线模式依赖互联网以及网速环境因素,受到的限制影响比较大. ...

  6. Proj.Net 投影介绍

    Proj.Net是开源地图投影库Proj.4的.net版本,许多GIS开源软件的投影都直接或间接地使用Proj.4的库,Proj.4是用C语言编写..Net下的开源GIS项目NetTopologySu ...

  7. C:\Program Files\Java\jdk1.7.0_79\bin\java.exe'' finished with non-zero exit value 1

    转载请标明出处:https://www.cnblogs.com/tangZH/p/10538982.html 今天,在项目过程中碰到了这个奇怪的问题,C:\Program Files\Java\jdk ...

  8. How to fix corrupt HDFS FIles

    1 问题描述 HDFS在机器断电或意外崩溃的情况下,有可能出现正在写的数据(例如保存在DataNode内存的数据等)丢失的问题.再次重启HDFS后,发现hdfs无法启动,查看日志后发现,一直处于安全模 ...

  9. navicat导入.sql文件

    用Navicat for Mysql导入.sql文件   虽然这算不上什么难事,但是对于新手来说(比如说我),Navicat for MySQL里的导出连接.运行SQL文件.导入向导.还原备份.这些功 ...

  10. Cocoa包管理器之Carthage详解及CocoaPods中心化+Carthage的二进制化

    上篇博客详细的聊了CocoaPods的相关内容,今天我们就来介绍另一个Cocoa的包管理器Carthage.在上家公司用Swift开发工程时,用的就是Carthage.Carthage诞生于14年11 ...