C#面向对象(1)
一、面向对象(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)的更多相关文章
- angular2系列教程(六)两种pipe:函数式编程与面向对象编程
今天,我们要讲的是angualr2的pipe这个知识点. 例子
- 一起学 Java(二)面向对象
一.方法函数 函数也称为方法,就是定义在类中的具有特定功能的一段独立代码.用于定义功能,提高代码的复用性. 函数的特点1> 定义函数可以将功能代码进行封装,便于对该功能进行复用:2> 函数 ...
- js面向对象学习 - 对象概念及创建对象
原文地址:js面向对象学习笔记 一.对象概念 对象是什么?对象是“无序属性的集合,其属性可以包括基本值,对象或者函数”.也就是一组名值对的无序集合. 对象的特性(不可直接访问),也就是属性包含两种,数 ...
- 前端开发:面向对象与javascript中的面向对象实现(二)构造函数与原型
前端开发:面向对象与javascript中的面向对象实现(二)构造函数与原型 前言(题外话): 有人说拖延症是一个绝症,哎呀治不好了.先不说这是一个每个人都多多少少会有的,也不管它究竟对生活有多么大的 ...
- .NET 基础 一步步 一幕幕[面向对象之对象和类]
对象和类 本篇正式进入面向对象的知识点简述: 何为对象,佛曰:一花一世界,一木一浮生,一草一天堂,一叶一如来,一砂一极乐,一方一净土,一笑一尘缘,一念一清静.可见"万物皆对象". ...
- 简单分析JavaScript中的面向对象
初学JavaScript的时候有人会认为JavaScript不是一门面向对象的语言,因为JS是没有类的概念的,但是这并不代表JavaScript没有对象的存在,而且JavaScript也提供了其它的方 ...
- Java程序员应该了解的10个面向对象设计原则
面向对象设计原则: 是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton.Decorat ...
- JavaScript学习笔记(三)——this、原型、javascript面向对象
一.this 在JavaScript中this表示:谁调用它,this就是谁. JavaScript是由对象组成的,一切皆为对象,万物皆为对象.this是一个动态的对象,根据调用的对象不同而发生变化, ...
- 带你一分钟理解闭包--js面向对象编程
上一篇<简单粗暴地理解js原型链--js面向对象编程>没想到能攒到这么多赞,实属意外.分享是个好事情,尤其是分享自己的学习感悟.所以网上关于原型链.闭包.作用域等文章多如牛毛,很多文章写得 ...
- .NET基础拾遗(2)面向对象的实现和异常的处理基础
Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理基础 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开 ...
随机推荐
- python接口自动化(二十四)--unittest断言——中(详解)
简介 上一篇通过简单的案例给小伙伴们介绍了一下unittest断言,这篇我们将通过结合和围绕实际的工作来进行unittest的断言.这里以获取城市天气预报的接口为例,设计了 2 个用例,一个是查询北京 ...
- Tensorflow源码解析1 -- 内核架构和源码结构
1 主流深度学习框架对比 当今的软件开发基本都是分层化和模块化的,应用层开发会基于框架层.比如开发Linux Driver会基于Linux kernel,开发Android app会基于Android ...
- java爬虫,爬取当当网数据
背景:女票快毕业了(没错!我是有女票的!!!),写论文,主题是儿童性教育,查看儿童性教育绘本数据死活找不到,没办法,就去当当网查询下数据,但是数据怎么弄下来呢,首先想到用Python,但是不会!!百 ...
- HWPushDemo【华为推送集成,基于2.6.1.301版本】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 这个Demo只是记录华为推送的集成,不能运行. 另外,因为可能用到存储权限,所以还需要搭配运行时权限申请功能. 使用步骤 一.项目组 ...
- MOCK API 的定义及实践(使用eolinker实现)
MOCK API 的定义 根据百度百科的定义,mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法.这个虚拟的对象就是mock对象,mock对 ...
- angular开发环境搭建及新建项目
最近一个星期准备学习一下angular前端框架,因为之前在学习abp框架的时候,都要求前端要掌握angular,所以不得不回来恶补一下了,学习的过程有时间的话会记录在这里,方便以后复习. 闲言少叙,下 ...
- android 请求接口报错 org.apache.http.conn.HttpHostConnectException: Connection to http://192.168.1.90:9090 refused
No Network Security Config specified, using platform defaultI/System.out: org.apache.http.conn.HttpH ...
- 数据库原理 - 序列3 - 事务是如何实现的? - Redo Log解析
6.5 事务实现原理之1:Redo Log 介绍事务怎么用后,下面探讨事务的实现原理.事务有ACID四个核心属性:A:原子性.事务要么不执行,要么完全执行.如果执行到一半,宕机重启,已执行的一半要回滚 ...
- Windows Server 2016-Netdom Join之客户端加域(二)
上章节我们介绍了如何通过图形化界面实现用户加域操作,本章节为大家简单介绍如何通过netdom join命令实现计算机加域操作.具体信息如下: 将工作站或成员服务器加入域.将计算机加入域的行为会为域中的 ...
- LeetCode算法题-Toeplitz Matrix(Java实现)
这是悦乐书的第312次更新,第333篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第181题(顺位题号是766).如果从左上角到右下角的每个对角线具有相同的元素,则矩阵是 ...