Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Interfaces. C# Collections

Содержание

AGENDAInterface declarationInterface implementationBuilt-in .Net interfacesTask1C# CollectionsTask 2
Interfaces.  C# Collections.   .Net Core. 2017by L.Klakovych AGENDAInterface declarationInterface implementationBuilt-in .Net interfacesTask1C# CollectionsTask 2 Interface declaration  modificator opt  interface INameOfInterface: listOfInterfaces opt  {	//declaration Interface declarationinterface IMyInterface{ void Process(int arg1, double arg2); float this [int index] Interface Implementationinterface IFighter{ void Punch(int side); void Kick (int side); void Block();}class Any class or struct that implements the interface must implement all its interface IPerson{ string Name { get; set; } string Introduce();}interface IFighter{ void FCL .Net InterfacesIEnumerable:   The IEnumerable interface allows foreach-loops on collections. .Net Library Interfacespublic interface IComparable{	Int32 CompareTo(T other);} class Doctor:IComparable{  int CompareTo(Doctor other){   return salary-other.salary;}... }public static Task 5-1.Develop interface IFlyable with method Fly().Create two classes Bird (with fields: C# Collections.NET framework provides specialized classes for data storage and retrieval.There are C# CollectionsSystem.Collections.Generic     System.Collections 	List ArrayListArrayList is a special array that provides us with some functionality over ArrayList public class ArrayList : IList, ICloneable{ int Add  (object value) ArrayListArrayList da = new ArrayList(); da.Add( List List is a strongly typed list of objects that can be accessed Liststatic void Main() { 	List langs = new List(); 	langs.Add( Using IEnumerable interfacestatic void Display(IEnumerable values){   foreach (int value in DictionaryA Dictionary, also called an associative array, is a collection of unique keys DictionaryDictionary where we map domain names to their country names:Retrieve values by QueueA Queue is a First-In-First-Out (FIFO) data structure. The first element added QueueQueue msgs = new Queue();    msgs.Enqueue( Stack A stack is a Last-In-First-Out (LIFO) data structure. The last element added to StackStack stc = new Stack();    stc.Push(1); Task 5-2. CollectionsDeclare myColl of 10 integers and fill it from Console.	1) Homework 51. Create interface IDeveloper with property Tool, methods Create() and Destroy()
Слайды презентации

Слайд 2 AGENDA
Interface declaration
Interface implementation
Built-in .Net interfaces
Task1
C# Collections
Task 2



AGENDAInterface declarationInterface implementationBuilt-in .Net interfacesTask1C# CollectionsTask 2

Слайд 3 Interface declaration
modificator opt interface INameOfInterface:

Interface declaration modificator opt interface INameOfInterface: listOfInterfaces opt {	//declaration of interface

listOfInterfaces opt
{
//declaration of interface members
}
Interface Includes

only declaration of method, properties, events, indexers
Interface can't contain constants, fields, operators, instance constructors, destructors, or types.
Interface members are automatically public, and they can't include any access modifiers.
Interface members can't be static.

An interface contains definitions for a group of related functionalities that a class or a struct can implement


Слайд 4 Interface declaration
interface IMyInterface
{
void Process(int arg1, double arg2);

Interface declarationinterface IMyInterface{ void Process(int arg1, double arg2); float this [int

float this [int index] { get; set; }

string

Name { get; set; }

event MouseEventHandler Mouse;
}

Слайд 5
Interface Implementation
interface IFighter
{
void Punch(int side);
void Kick

Interface Implementationinterface IFighter{ void Punch(int side); void Kick (int side); void

(int side);
void Block();
}
class Soldier : IFighter
{
public void

Punch(int side)
{
Move(arms[side], Forward);
}
public void Kick (int side)
{
Move(legs[side], Forward);
}
public void Block()
{
Move(arms[Left ], Up);
Move(arms[Right], Up);
}
public void Move(Arm a,Direction d)
{

}
public void Move(Leg l,Direction d)
{

}
}

IFighter f = new Soldier();
f.Punch(Left);
f.Kick(Right);
f.Block();

IFighter s= new Dragon();
s.Punch(Left);
s.Kick(Right);
s.Block();
...

class Dragon : IFighter
{
public void Punch(int side)
{
Move(tail, side);
}
public void Kick (int side)
{
Move(legs[side], Forward);
}
public void Block()
{
Move(legs[Left ], Up);
Move(tail, Up);
}
}


Слайд 6 Any class or struct that implements the interface

Any class or struct that implements the interface must implement all

must implement all its members.
By using interfaces, we may

include behavior from multiple sources in a class.
It is important in C# because the language doesn't support multiple inheritance of classes.
We must use an interface for simulating inheritance for structs, because they can't actually inherit from another struct or class.

Interface Implementation


Слайд 7 interface IPerson
{
string Name { get; set; }

interface IPerson{ string Name { get; set; } string Introduce();}interface IFighter{

string Introduce();
}
interface IFighter
{
void Punch(int side);
void Kick (int

side);
void Block();
}

Interface Implementation


Слайд 8 FCL .Net Interfaces
IEnumerable:
The IEnumerable interface

FCL .Net InterfacesIEnumerable:  The IEnumerable interface allows foreach-loops on collections.

allows foreach-loops on collections. It is often used in

LINQ.

IDisposable:
Provides a mechanism for releasing unmanaged resources

ICollection:
Defines methods to manipulate generic collections.




Слайд 9 .Net Library Interfaces
public interface IComparable
{
Int32 CompareTo(T other);
}

.Net Library Interfacespublic interface IComparable{	Int32 CompareTo(T other);}

Слайд 10 class Doctor:IComparable
{
int CompareTo(Doctor other)
{

class Doctor:IComparable{ int CompareTo(Doctor other){  return salary-other.salary;}... }public static void

return salary-other.salary;
}
...
}
public static void Main()
{
Doctor [] doctors= new

Doctor [5];
//… input doctors

Array.Sort(doctors);


Слайд 11 Task 5-1.
Develop interface IFlyable with method Fly().
Create two

Task 5-1.Develop interface IFlyable with method Fly().Create two classes Bird (with

classes Bird (with fields: name and canFly) and Plane

(with fields: mark and highFly) , which implement interface IFlyable.
Create List of IFlyable objects and add some Birds and Planes to it. Call Fly() method for every item from the list of it.


Слайд 12 C# Collections
.NET framework provides specialized classes for data

C# Collections.NET framework provides specialized classes for data storage and retrieval.There

storage and retrieval.
There are two distinct collection types in

C#:
The standard collections from the System.Collections namespace
The generic collections from System.Collections.Generic.
 Generic collections are more flexible and safe, and are the preferred way to work with data. 




Слайд 13 C# Collections
System.Collections.Generic System.Collections
List

C# CollectionsSystem.Collections.Generic   System.Collections 	List		 		   ArrayList 	Dictionary

ArrayList
Dictionary

HashTable
SortedList, SortedDictionary SortedList
Stack Stack
Queue Queue
LinkedList О(1) -

IList IList
IDictionary IDictionary
ICollection ICollection
IEnumerator IEnumerator
IEnumerable IEnumerable
IComparer ІComparer
IComparable IComparable

Слайд 14 ArrayList
ArrayList is a special array that provides us

ArrayListArrayList is a special array that provides us with some functionality

with some functionality over and above that of the

standard Array.
Unlike arrays, an ArrayList can hold data of multiple data types.
We can dynamically resize it by simply adding and removing elements.

using System.Collections;

class Department
{
ArrayList employees = new ArrayList();
...
}

create ArrayList


Слайд 15 ArrayList
public class ArrayList : IList, ICloneable
{
int

ArrayList public class ArrayList : IList, ICloneable{ int Add (object value)

Add (object value) // at the end
void

Insert(int index, object value) ...

void Remove (object value) ...
void RemoveAt(int index) ...
void Clear () ...

bool Contains(object value) ...
int IndexOf (object value) ...

object this[int index] { get... set.. }

int Capacity { get... set... }
void TrimToSize() //minimize memory
...
}

control of memory
in underlying array

add new elements

remove

containment testing

read/write existing element


Слайд 16 ArrayList
ArrayList da = new ArrayList();
da.Add("Visual Studio");
da.Add(344);

ArrayListArrayList da = new ArrayList(); da.Add(


da.Add(55);
da.Add(new Empty());

da.Remove(55);

foreach(object el in da)
{


Console.WriteLine(el);
}

class Empty {}

using System.Collections;


Слайд 17 List
 List is a strongly typed list of objects that

List List is a strongly typed list of objects that can be accessed

can be accessed by index.
It can be found under

System.Collections.Generic namespace


Слайд 18 List
static void Main()
{
List langs = new

Liststatic void Main() { 	List langs = new List(); 	langs.Add(

List();
langs.Add("Java");
langs.Add("C#");
langs.Add("C++");
langs.Add("Javascript");

Console.WriteLine(langs.Contains("C#"));
Console.WriteLine(langs[1]);

langs.Remove("C#");
Console.WriteLine(langs.Contains("C#"));

langs.Insert(2, "Haskell");
langs.Sort();
foreach(string lang in langs)
{ Console.WriteLine(lang); }
}

using System.Collections.Generic;


Слайд 19 Using IEnumerable interface
static void Display(IEnumerable values)
{

Using IEnumerable interfacestatic void Display(IEnumerable values){  foreach (int value in

foreach (int value in values)
{

Console.WriteLine(value);
}
}

static void Main()
{
int[] values = { 1, 2, 3 };
List values2 = new List() { 1, 2, 3 };

// Pass to a method that receives IEnumerable.
Display(values);
Display(values2);
}


Слайд 20 Dictionary
A Dictionary, also called an associative array, is a

DictionaryA Dictionary, also called an associative array, is a collection of unique

collection of unique keys and a collection of values
Each

key is associated with one value.
Retrieving and adding values is very fast.

Слайд 21 Dictionary
Dictionary where we map domain names to their

DictionaryDictionary where we map domain names to their country names:Retrieve values

country names:




Retrieve values by their keys and print the

number of items: 



Print both keys and values of the dictionary:

Dictionary domains = new Dictionary();
domains.Add("de", "Germany");
domains.Add("sk", "Slovakia");
domains.Add("us", "United States");

Console.WriteLine(domains["sk"]);
Console.WriteLine(domains["de"]);
Console.WriteLine("Dictionary has {0} items", domains.Count);

foreach(KeyValuePair kvp in domains)
{
Console.WriteLine("Key = {0}, Value = {1}", kvp.Key, kvp.Value);
}


Слайд 22 Queue
A Queue is a First-In-First-Out (FIFO) data structure.

QueueA Queue is a First-In-First-Out (FIFO) data structure. The first element

The first element added to the queue will be

the first one to be removed.
Queues may be used to process messages as they appear or serve customers as they come.
Methods:
Clear(); removes all elements from the Queue.
Contains(object obj); determines whether an element is in the Queue.
Dequeue(); removes and returns the object at the beginning of the Queue.
Enqueue(object obj); adds an object to the end of the Queue.
ToArray(); Copies the Queue to a new array.

Слайд 23 Queue
Queue msgs = new Queue();

QueueQueue msgs = new Queue();  msgs.Enqueue(

msgs.Enqueue("Message 1");
msgs.Enqueue("Message 2");

msgs.Enqueue("Message 3");


Console.WriteLine(msgs.Dequeue());
Console.WriteLine(msgs.Peek());
Console.WriteLine(msgs.Peek());

Console.WriteLine();

foreach(string msg in msgs)
{
Console.WriteLine(msg);
}

Слайд 24 Stack
A stack is a Last-In-First-Out (LIFO) data structure.
The last

Stack A stack is a Last-In-First-Out (LIFO) data structure. The last element added

element added to the queue will be the first

one to be removed.
The C language uses a stack to store local data in a function. The stack is also used when implementing calculators.

Слайд 25 Stack
Stack stc = new Stack();

StackStack stc = new Stack();  stc.Push(1);  stc.Push(4);  stc.Push(3);

stc.Push(1);
stc.Push(4);
stc.Push(3);

stc.Push(6);

Console.WriteLine(stc.Pop());
Console.WriteLine(stc.Peek());
Console.WriteLine(stc.Peek());

Console.WriteLine();

foreach(int item in stc)
{
Console.WriteLine(item);
}

Слайд 26 Task 5-2. Collections
Declare myColl of 10 integers and

Task 5-2. CollectionsDeclare myColl of 10 integers and fill it from

fill it from Console.
1) Find and print all positions

of element -10 in the collection
2) Remove from collection elements, which are greater then 20.
Print collection
3) Insert elements 1,-3,-4 in positions 2, 8, 5. Print collection
4) Sort and print collection
Use next Collections for this tasks: List and ArrayList

Слайд 27 Homework 5
1. Create interface IDeveloper with property Tool,

Homework 51. Create interface IDeveloper with property Tool, methods Create() and

methods Create() and Destroy()
Create two classes

Programmer (with field language) and Builder (with field tool), which implement this interface.
Create List of IDeveloper and add some Programmers and Builders to it. Call Create() and Destroy() methods, property Tool for all of it

2. Create Console Application project in VS. In the Main() method declare Dictionary. Add to Dictionary from Console seven pairs (ID, Name) of some persons. Ask user to enter ID, then find and write corresponding Name from your Dictionary. If you can't find this ID - say about it to user.


  • Имя файла: interfaces-c-collections.pptx
  • Количество просмотров: 128
  • Количество скачиваний: 0