Interface Programmera mot interface Johan Eliasson Johan Eliasson Interface kan bryta beroendekedjor Skriv generell kod «Type» Class2 Interface



Similar documents
Projektet Computer: Specifikation. Objektorienterad modellering och diskreta strukturer / design. Projektet Computer: Data. Projektet Computer: Test

Jag valde att använda Net-EPP_client.php från centralnic för att komma igång.

Lösningsförslag till tentamen

WINDOWS PRESENTATION FOUNDATION LEKTION 3

J a v a Quiz (Unit 3, Test 0 Practice)

InTime API - Exempel kod

Category work in courtroom talk about domestic violence: Gender as an interactional accomplishment in child custody disputes

MAXimize the benefits of Mobility Management

Tanden Care Provider Interfaces Reverse Claim v1

How To Work For A Car Maker

Readme10_054.doc page 1 of 7

Information Meeting FACULTIES OF HUMANITIES AND THEOLOGY

Martin Holmgren Vice President Fleet Management Cramo Group

Workshop 1: Can CM find common ground for HW & SW development?

WELCOME TO. Information Integration

Ange om en aktivitet har medfört att en tjänsteresa har utförts med flyg under 2013, och i sådana fall antal gånger.

DRb Distributed Ruby. Johan Sørensen

IBM idag. Johan Rittner VD IBM Svenska

Nordic Archery Union Guidelines for cooperation within the Nordic Archery associations. Photo Matts Jacobsson, Sweden

SAS Education Providing knowledge through global training and certification. SAS Foundation. Kursöversikt 2010

Bachelor thesis Software Engineering and Management How can code reuse help a Software Company

How To Get Healthy With A Game Called Angel Hour

WEBINAR 5:E MARS Allt du skulle vilja veta om Marketing Automation men inte kunnat fråga om

Microsoft SQL Server 2012: Designing Buisness Intelligence Solutions

FN:S RAPPORT OM E- GOVERNANCE Med lite jämförelser med 2012

SAS Data Integration SAS Business Intelligence

Cognition and Interaction. Jaana Puskala University of Vaasa Department of Scandinavian Languages

ANVÄNDARINSTRUKTION Patientlyftvåg SLSC2 200kg/100g

Microsoft + SOA = Sant? Joakim Linghall Principal System Engineer SOA and Business Process joakiml@microsoft.com

DECISION/BESLUT

Effektiv hantering av Data och Information i M3 Joakim Jannerfeldt Anders Cottman

Diagnostisera problem med utskriftskvaliteten

Windowsadministration II, 7.5hp, 1DV424 MODUL 5 EXCHANGE SERVER 2013 FÖRELÄSNING 3

A Study of Failure Development in Thick Thermal Barrier Coatings. Karin Carlsson

Enfo Zystems Services

Strategisk planering, Aktiv demokrati, 6-8 jan 2012

3gamma Från traditionell IT-leverans till modern, processtyrd tjänsteleverans i en multi-sourcing miljö. Peter Wahlgren, September 2013

Använd SAS för att bearbeta och analysera ditt data i Hadoop

MME TECHNICAL SERVICE NEWSLETTER GROUP 16 ALTERNATOR LOOSE PULLEY _ 4N13 DATE SERVICE CAMPAIGN (REF. MMC: SSI )

Design Suggestions for Danske Bank SE

Repetition inför tentan. Kommunikation. Infrastruktur. ÖP Inga hjälpmedel. v v v

Elektronikavfall. Thomas Lindhqvist IIIEE Lund University. 18 February 2009

Undervisningsmaterial för Garmin G1000

Tanden Care Provider Interfaces Submit Claim v3

INTERNATIONELLA BANKÖVERFÖRINGAR

Sweden National H.O.G. Rally July 2010

Computer animations in physical chemistry. Kim Bolton School of Engineering, University College of Borås, SE , Borås

The Problem With Adding Positive and Negative Numbers

I/O-Efficient Data Structures for Colored Range and Prefix Reporting

TRA Q NORDIC RELEASE - FEBRUARY 2014

Development allowance and activity grant [Aktivitetsstöd och utvecklingsersättning]

THE INBOUND MARKETING WAY THE BATTLE OF GOOGLE MARKETING HOUSE MARKETING HOUSE MARKETING HOUSE

Viktigaste uppgift: Web Browser SSO

Swedish Style Guide for Community

Preet raj Core Java and Databases CS4PR. Time Allotted: 3 Hours. Final Exam: Total Possible Points 75

What is going on in Sweden?

Tycker du att det bor vara tillatet att skicka sina barn till kristna friskolor? Freq. Percent Cum.

public void setusername(string username) { this.username = username; } public void setname(string name) { this.name = name; }

BABIES PG st per förpackning, kan även beställas styckevis.

The role of HEI in regional development. Anders Olsson Region Värmland. Håkan Spjuth Karlstads universitet

Sample CSE8A midterm Multiple Choice (circle one)

Scrum Kandidatprojekt datateknik - TDDD83

Agenda. What is and Why Polymorphism? Examples of Polymorphism in Java programs 3 forms of Polymorphism

Asian Option Pricing and Volatility. Erik Wiklund

AGENDA WINDOWS PRESENTATION FOUNDATION LEKTION 4. Statusbar Hyperlänkar WebBrowser TabControl Ribbon ListBox Data Template Resource Dictionary Style

TDDB84 Design Patterns Exam

KINAR13h, KINLO13h. The marking period is, for the most part, 15 working days, otherwise it s the following date:

Introduktion till SAS 9 Plattformen Helikopterkursen

Asset management i värmesektorn


Den mänskliga dimensionen

CompSci 125 Lecture 08. Chapter 5: Conditional Statements Chapter 4: return Statement

Institutionen för datavetenskap Department of Computer and Information Science

Seminarium om tystare busstrafik


First Java Programs. V. Paúl Pauca. CSC 111D Fall, Department of Computer Science Wake Forest University. Introduction to Computer Science

Rek. 1995:- Technical specifications SB12V3200E-AC SB12V3200E-AC. Recharges much faster. Longer service life. Only 1/3 of the size.

The following program is aiming to extract from a simple text file an analysis of the content such as:

CS 112/ Section 02 Hilal Ünal Aslıhan Ekim Merve Özkılınç Notes of March 11, 2008 and March 13, 2008: Pig Latin: add adday. main.

Mall för kursplaner på engelska på Naturvetenskapliga fakulteten

Chinese market platforms in China and Europe

Panthera - A Helpdesk System developed in Visual Studio.NET

I.WE.STHLM - Student apartment hotel (excerpt from project presentation)

Jobbet PDF. ==>Download: Jobbet PDF ebook

2013 CCAFL Swedish Continuers Marking Guidelines Section 1: Listening and Responding Part A

If You Get Sick during a Temporary Stay Abroad [Sjuk vid tillfällig vistelse utomlands]

Git as introduction to configuration management for students

SABINE. Sabine har en medvetet sparsmakad design som tål upprepning. Variationsmöjligheter finns i olika material och färger.

Practice Set and Solutions #3

Lokmitra och deras historia

Data base for Design Fires -Brandforsk Project

3 length + 23 size = 2

Ackrediteringens omfattning / Scope of Accreditation ALS Scandinavia AB, Täby. Kemiska analyser/chemical analysis. Bilaga/ Appendix 2

Use Case Explorer. Johan Helldahl Usman Ashraf. A Use Case Tool. Master of Science Thesis in Software Engineering and Technology

Åtdragningsmoment & Bultordning Åbergs VTC Parts AB

CS170 Lab 11 Abstract Data Types & Objects

Check Point End Point ATEA Sikkerhetsdag

Makumba and Ruby on Rails

Transcription:

Interface Snabba att implementera Programmera mot interface Bryter beroenden Gör det enklare att samarbeta Gör det enkelt att i ett senare skede byta ut implementationer mot effektivare Interface kan bryta beroendekedjor Skriv generell kod «Type» Interface metod1() Class2 Attributes metod1() Class2 Attributes metod2() Skriv alltid kod så att den använder sig av klasser/interface så högt upp i hierarkin som möjligt Ska ni bara göra saker som finns definierade i Figure-klassen så använd er då av en Figure-referens i stället för tex en mer specifik Triangle, så får ni mer generell kod movefigure(new Triangle()) void movefigure(figure f) f.movevertical(10); f.movehorizontal(10) Programexempel Referenshantering Tidskriftsartiklar och konferensartiklar Samma information till stor del

Text abstract public class private String ref; private String ref; private String published; public (String key) ref = key; public String key( ) return ref; public void title( String new ) ref = new; public String title( ) return ref; public void year( String new ) published = new; public String year( ) return published; return " = " + ref + "\når = " + published + "\n = " + ref; Text abstract public class Text extends private String the; private int pagestart, pageend; public void pages( int start, int end ) pagestart = start; pageend = end; public class extends Text private String journalname; public Text( String ID) super(id); public void author( String new ) the = new; public String author( ) return the; public int firstpage( ) return pagestart; public int lastpage( ) return pageend; return super.tostring() + "\n = " + the + "\npage start = " + pagestart + "\npage end = " + pageend; public ( String ID ) super(id); public void journal( String the ) journalname = the; public String journal( ) return journalname; return super.tostring() + "\n = " + journalname;

public class final static int LIBRARY_SIZE = 100; private ref[]; private int refcount = 0; public ( ) ref = new [LIBRARY_SIZE]; public boolean add( r ) for( int i = 0 ; i < refcount ; i++ ) if( ref[i].key() == r.key() ) return false; ref[refcount++] = r; return true; Inte bra public String tostring() String s=""; for(int i = 0 ; i < refcount; i++) s = s + ": " + ref[i].key() + " Titel: " + ref[i].title() + "\n"; abstract public class...! public boolean same( other )!! return ref.equals(other.ref);!... equals!!! return s; for( int i = 0 ; i < refcount ; i++ ) if( ref[i].same(r) ) return false; Text!! Text!! Text

«interface» Formatter start() end() field(string,string) public interface Formatter public void start(); Text public void end(); public void field( String fld, String value );.listfields public void export( Formatter format) for( int i = 0 ; i < refcount ; i++ ) format.start(); ref[i].listfields(format); format.end(); public void listfields( Formatter format ) format.field("name",journalname); super.listfields(format); Text.listFields public void listfields( Formatter format ) format.field("the",the); format.field("pagestart",string.valueof(pagestart)); format.field("pageend",string.valueof(pageend)); super.listfields(format); public class SimpleFormatter implements Formatter public void start( ) System.out.println( " ================= start =============="); public void end( ) System.out.println( " ================= slut ==============\n\n\n"); public void field( String fld, String value ) System.out.println(fld + " : " + value);

import Biblio.*; import java.lang.system; public class Demo public static void main( String[] args ) art = new ("anka:2000"); art.year("ca 2000"); art.title("vad kul detta är"); art.journal("disney's samlade verk"); art.author("kalle Anka"); art.pages(34,90); ip = new ("anka:2002"); ip.year("2002"); ip.title("ankeborgs ekonomi"); ip.author("kalle Anka"); ip.pages(12,78); ip.proceeding("ankornas Världskonferens"); lib = new (); if( lib.add(art) ) System.out.println("Kunde lägga till"); else System.out.println("Kunde inte lägga till"); if( lib.add(ip) ) System.out.println("Kunde lägga till"); else System.out.println("Kunde inte lägga till"); System.out.println(lib); lib.export(new SimpleFormatter());